OWASP Testing Guide & ASVS — Méthodologie d'Audit
Méthodologie d'audit web selon OWASP Testing Guide v4.2 et Application Security Verification Standard (ASVS)
OWASP Testing Guide v4.2
Référence : https://owasp.org/www-project-web-security-testing-guide/
Phases d'un audit web OWASP
Phase 1 Avant-test PassiveRevue documentation architecture threat modelPhase 2 Collecte dinformationFingerprinting cartographie analyse de surfacePhase 3 Test de la configurationInfrastructure serveurs TLS headers de scuritPhase 4 Test gestion des identitsnumration comptes politique de mots de passePhase 5 Test authentificationBrute force bypass remember-me, MFAPhase 6 Test autorisationIDOR RBAC privilege escalation horizontal/verticalPhase 7 Test gestion de sessionsCookie attributes fixation logout timeoutPhase 8 Test validation des entresXSS SQLi SSRF XXE injection commandesPhase 9 Test de la logique mtierWorkflow bypass price manipulation race conditionsPhase 10 Test ct clientDOM XSS postMessage CORS localStorage
Checklist par catégorie
Configuration & Infrastructure (OTG-CONFIG)
WSTG-CONF-01 Fichiers de configuration rseau/serveur expossWSTG-CONF-02 Configuration plateforme applicative erreurs verboseWSTG-CONF-03 Extensions de fichiers sensibles bak conf sqlWSTG-CONF-04 Fichiers non rfrencs backup admin pagesWSTG-CONF-05 Mthodes HTTP non ncessaires PUT DELETE TRACEWSTG-CONF-06 HTTP Strict Transport Security HSTSWSTG-CONF-07 Politique de scurit des contenus CSPWSTG-CONF-08 Cookies Secure HttpOnly SameSite
Authentification (OTG-AUTHN)
WSTG-AUTHN-01 Transport des credentials en clairWSTG-AUTHN-02 Default credentials admin/adminWSTG-AUTHN-03 Mcanisme de verrouillage de compteWSTG-AUTHN-04 Bypass dauthentificationWSTG-AUTHN-05 Remember-me vulnrableWSTG-AUTHN-06 Faiblesse cache navigateur credentials en cacheWSTG-AUTHN-07 Politique de mots de passe faibleWSTG-AUTHN-08 Reset de mot de passe token prvisible lien expirationWSTG-AUTHN-09 Changement de mot de passe sans ancien mot de passeWSTG-AUTHN-10 Authentification multi-facteurs OTP rutilisable
Autorisation (OTG-AUTHZ)
WSTG-AUTHZ-01 Directory traversal path traversalWSTG-AUTHZ-02 Bypasse du schma dautorisationWSTG-AUTHZ-03 Privilege escalation horizontal verticalWSTG-AUTHZ-04 IDOR accs aux ressources dun autre utilisateur
Gestion de sessions (OTG-SESS)
WSTG-SESS-01 Schema de gestion des sessions token prvisibleWSTG-SESS-02 Attributs cookies Secure HttpOnly Domain PathWSTG-SESS-03 Session fixationWSTG-SESS-04 Variables de session exposes dans lURLWSTG-SESS-05 CSRFWSTG-SESS-06 Logout correct invalidation ct serveurWSTG-SESS-07 Session timeoutWSTG-SESS-08 JWT validation algorithme expiration
Validation des entrées (OTG-INPVAL)
WSTG-INPV-01 Reflected XSSWSTG-INPV-02 Stored XSSWSTG-INPV-03 HTTP Verb TamperingWSTG-INPV-04 HTTP Parameter PollutionWSTG-INPV-05 SQL InjectionWSTG-INPV-06 LDAP InjectionWSTG-INPV-07 XML InjectionWSTG-INPV-08 SSI InjectionWSTG-INPV-09 XPath InjectionWSTG-INPV-10 IMAP/SMTP InjectionWSTG-INPV-11 Code Injection eval execWSTG-INPV-12 Command InjectionWSTG-INPV-13 Buffer OverflowWSTG-INPV-14 Incubated VulnerabilitiesWSTG-INPV-15 HTTP Splitting SmugglingWSTG-INPV-16 HTTP Incoming RequestsWSTG-INPV-17 Host Header InjectionWSTG-INPV-18 SSTI Server-Side Template InjectionWSTG-INPV-19 SSRF
OWASP ASVS — Application Security Verification Standard
Référence : https://owasp.org/www-project-application-security-verification-standard/
Niveaux de vérification
| Niveau | Cible | Contrôles | |--------|-------|-----------| | L1 | Toutes les applications | ~120 — exigences minimales | | L2 | Applications sensibles | ~210 — données personnelles, financières | | L3 | Applications critiques | ~280 — défense, finance, santé |
Chapitres ASVS (v4.0)
| Chapitre | Domaine | |----------|---------| | V1 | Architecture, Design, Threat Modeling | | V2 | Authentification | | V3 | Gestion des sessions | | V4 | Contrôle d'accès | | V5 | Validation, Sanitization, Encoding | | V6 | Cryptographie | | V7 | Gestion des erreurs et logging | | V8 | Protection des données | | V9 | Communication (TLS) | | V10 | Code malveillant | | V11 | Logique métier | | V12 | Fichiers et ressources | | V13 | API et Web Services | | V14 | Configuration |
Exemples d'exigences L1 clés
V211 Mots de passe 12 caractresV219 Pas de contrainte de composition arbitraire pas de "max 10 chars"V321 Nouveau token gnr chaque authentificationV341 Cookie avec attribut SecureV411 Principe du moindre privilge sur tous les endpointsV513 Validation ct serveur pas uniquement ct clientV621 Donnes sensibles chiffres au repos avec algo approuvV911 TLS pour toutes les communications sensibles
Headers de sécurité — Vérification rapide
# Test rapide headerscurl -I https//target.com | grep -Ei"strict-transport|content-security|x-frame|x-content-type|referrer-policy|permissions-policy"# Score headers : https://securityheaders.com# Headers attendusStrict-Transport-Security: max-age=31536000; includeSubDomainsContent-Security-Policy: default-src 'self';X-Frame-Options: DENYX-Content-Type-Options: nosniffReferrer-Policy: strict-origin-when-cross-originPermissions-Policy: geolocation camera
TLS — Audit de configuration
# testssl.sh — audit complet TLStestsslsh https//target.com# SSLyzesslyze --regular targetcom# Points à vérifierTLS 12 uniquement pas SSLv3 TLS 10 TLS 11Ciphers forts ECDHE AES-256-GCM)Pas de ciphers NULL RC4 DESPerfect Forward Secrecy activHSTS configurCertificat valide et non expirOCSP Stapling activ
Reporting OWASP — Format synthèse
## Résultats d'audit [Nom Application]### Résumé exécutifPériode : DD/MM/YYYY - DD/MM/YYYYPérimètre : https://target.com (scope défini)Méthode : OWASP Testing Guide v4.2 — boîte grise### Statistiques| Sévérité | Nombre ||----------|--------|| Critique | 2 || Haute | 4 || Moyenne | 7 || Faible | 12 || Info | 8 |### Top findings1. [CRITIQUE] SQLi authentification — WSTG-INPV-052. [HAUTE] IDOR accès données utilisateurs — WSTG-AUTHZ-043. [HAUTE] Token de session non invalidé au logout — WSTG-SESS-06