OWASP Top 10 : Guide Pratique des Vulnerabilites Web
L'OWASP (Open Web Application Security Project) publie regulierement la liste des 10 vulnerabilites web les plus critiques. Ce guide vous explique chacune avec des exemples concrets et des solutions.
L'OWASP Top 10 est la reference mondiale en securite web. C'est le standard utilise par les pentesteurs, les auditeurs et les equipes de securite pour evaluer la posture d'un site web. Comprendre ces 10 categories est essentiel pour tout developpeur ou responsable technique.
A01 — Controle d'acces defaillant
Un utilisateur peut acceder a des ressources ou effectuer des actions qui ne lui sont pas autorisees.
Exemple : Modifier l'URL /api/users/123/profile en /api/users/456/profile pour acceder au profil d'un autre utilisateur.
Prevention :
- Verifiez les autorisations cote serveur pour chaque requete
- Appliquez le principe du moindre privilege
- Desactivez le listage de repertoires
A02 — Defaillances cryptographiques
Donnees sensibles transmises ou stockees sans chiffrement adequat.
Exemple : Mots de passe stockes en MD5, donnees de carte bancaire transmises en HTTP.
Prevention :
- Utilisez HTTPS partout (TLS 1.2+)
- Hachez les mots de passe avec
bcryptouargon2 - Chiffrez les donnees sensibles au repos (AES-256)
A03 — Injection
Des donnees non fiables sont envoyees a un interpreteur dans le cadre d'une commande ou d'une requete.
Exemple classique — SQL Injection :
-- Entree utilisateur : ' OR '1'='1' --
SELECT * FROM users WHERE email = '' OR '1'='1' --'
Prevention :
- Requetes preparees (parameterized queries) — obligatoire
- Validation et sanitisation des entrees
- ORM avec echappement automatique
A04 — Conception non securisee
Failles inherentes a l'architecture de l'application, pas juste a l'implementation.
Prevention : Modelisation des menaces (threat modeling), revue d'architecture securite, principes de securite des la conception (security by design).
A05 — Mauvaise configuration de securite
Configurations par defaut, services inutiles actives, messages d'erreur trop verbeux.
Exemples courants :
- Page d'admin accessible publiquement (
/admin,/wp-admin) - Headers de securite manquants
- Mode debug active en production
- Credentials par defaut non changees
A06 — Composants vulnerables et obsoletes
Utilisation de bibliotheques, frameworks ou plugins avec des vulnerabilites connues.
Prevention :
- Inventaire de toutes les dependances
- Mises a jour regulieres
- Outils d'audit :
npm audit,pip audit, Snyk, Dependabot
A07 — Defaillances d'identification et d'authentification
Mots de passe faibles autorises, pas de protection brute-force, sessions non securisees.
Prevention :
- 2FA pour les comptes sensibles
- Politique de mots de passe forts (12+ caracteres)
- Rate limiting sur les endpoints de login
- Tokens de session securises (HttpOnly, Secure, SameSite)
A08 — Defaillances d'integrite des logiciels et des donnees
Code et infrastructure qui ne verifient pas l'integrite. Inclut la deserialisation non securisee et les pipelines CI/CD non proteges.
A09 — Defaillances de journalisation et de surveillance
Sans logs et monitoring, les breches ne sont detectees qu'apres des semaines ou des mois.
Prevention : Centralisez vos logs, configurez des alertes pour les evenements suspects, et faites des revues de logs regulieres.
A10 — Falsification de requetes cote serveur (SSRF)
L'attaquant fait envoyer des requetes par le serveur vers des ressources internes.
Prevention : Validez et filtrez les URLs cote serveur, bloquez les requetes vers les reseaux internes, utilisez des listes blanches.
Comment verifier votre site contre l'OWASP Top 10 ?
Verifier manuellement chaque categorie demande des heures de travail specialise. Un audit de securite automatise peut couvrir l'ensemble de l'OWASP Top 10 en quelques heures.