Pentest

Qu'est-ce qu'un pentest web ? Définition, méthode, outils

Pentest web : définition, 5 phases de méthodologie, OWASP Top 10 2021, outils (Burp Suite, sqlmap, ZAP), types de mandat (black/gray/white box), livrables type.

Naim Aouaichia
14 min de lecture
  • Pentest Web
  • Définition
  • Méthodologie
  • OWASP Top 10
  • Burp Suite
  • Audit web
  • Sécurité applicative

Un pentest web (penetration test web) est un audit offensif encadré contractuellement d'une application web ou API, visant à identifier les vulnérabilités exploitables par un attaquant réel. Il représente environ 50 % du marché pentest en France en 2026 selon les panels Apec et Numeum. La méthodologie suit 5 phases structurées : reconnaissance (scope, technologies, surface d'attaque), mapping (énumération endpoints, fonctionnalités, flux utilisateur), exploitation (tests OWASP Top 10 2021 et business logic), post-exploitation (chaînage, pivot, exfiltration), reporting (rapport 30-80 pages avec preuves et remédiation). Durée typique : 5 à 15 jours-hommes selon scope. Trois types de mandat : black box (zéro info), gray box (comptes fournis, 70-80 % du marché FR), white box (code source et docs fournis). Stack d'outils dominée par Burp Suite Professional (80 % du temps de mission) complétée par OWASP ZAP, sqlmap, Ffuf, Nuclei. Cadre juridique strict : article 323 du Code pénal sanctionne toute action hors scope autorisé. Cet article détaille la définition, les 5 phases de méthodologie, les 3 types de mandat, les vulnérabilités recherchées (OWASP Top 10 + business logic), la stack d'outils, la distinction avec bug bounty et AppSec review, et fournit un exemple concret de rapport pentest web.

1. Définition précise : qu'est-ce qu'un pentest web ?

Le pentest web est un audit offensif contractualisé d'une surface d'attaque web (application, API, webservice) réalisé par un professionnel cybersécurité avec autorisation écrite formelle du propriétaire du système audité.

Trois caractéristiques fondamentales

  • Contractualisé : Rules of Engagement (RoE) signés avant toute action. Scope défini, dates précisées, contacts d'escalade établis. Sans autorisation écrite, l'activité constitue un accès frauduleux à un STAD (article 323-1 du Code pénal français).
  • Offensif : le pentester simule les techniques d'un attaquant réel (reconnaissance, exploitation, post-exploitation, exfiltration) pour identifier ce qu'un adversaire pourrait exploiter. Différent de l'audit de conformité qui évalue contre un référentiel documentaire.
  • Livrable structuré : rapport de 30 à 80 pages selon scope, incluant synthèse exécutive pour les dirigeants, résumé technique, inventaire des vulnérabilités avec CVSS, chemins d'attaque reproduits avec preuves, recommandations de remédiation priorisées.

Cadre juridique en France 2026

Le pentest web est strictement encadré par :

  • Article 323-1 du Code pénal (accès frauduleux à un STAD).
  • Article 323-2 (atteinte à l'intégrité).
  • Article 323-3 (atteinte aux données contenues).
  • Loi Godfrain (socle historique).
  • Pour les auditeurs PASSI qualifiés ANSSI, référentiel PASSI complémentaire.

2. Les 5 phases d'une mission pentest web

Méthodologie standard alignée sur OWASP Web Security Testing Guide (WSTG) et PTES (Penetration Testing Execution Standard).

PhaseDurée typique (mission 10 j.h.)Objectif
1 — Reconnaissance1-2 j.h.Comprendre le scope, identifier les technologies, cartographier la surface d'attaque
2 — Mapping1-2 j.h.Énumérer tous les endpoints, fonctionnalités, rôles utilisateur, flux métier
3 — Exploitation4-6 j.h.Tester chaque vulnérabilité OWASP Top 10 et business logic sur chaque endpoint pertinent
4 — Post-exploitation0-2 j.h.Chaîner les vulnérabilités, pivoter si scope le permet, évaluer l'impact réel
5 — Reporting2-3 j.h.Rédiger le rapport structuré avec preuves, CVSS, recommandations

Phase 1 — Reconnaissance

Activités :

  • Revue du scope signé (URL, sous-domaines, API, restrictions).
  • Identification des technologies via headers HTTP, comportements applicatifs, Wappalyzer (CMS, framework, backend, base de données).
  • OSINT passif si scope le permet (Shodan, crt.sh pour certificats, archives wayback machine).
  • Reconnaissance active : brute force répertoires (Ffuf, Gobuster), énumération sous-domaines.

Livrable phase 1 : cartographie technologique et première surface d'attaque documentée.

Phase 2 — Mapping (énumération)

Activités :

  • Navigation complète dans l'application pour identifier tous les endpoints visibles.
  • Capture du trafic dans Burp Suite Proxy pour reconstituer l'arborescence.
  • Test des différents rôles utilisateur (user simple, admin, utilisateur premium) si gray box ou white box.
  • Identification des fonctionnalités sensibles : authentification, paiement, export de données, gestion des utilisateurs.

Livrable phase 2 : inventaire exhaustif des endpoints et fonctionnalités à tester.

Phase 3 — Exploitation (cœur de la mission)

Tests systématiques sur chaque endpoint pertinent :

  • A01 Broken Access Control : IDOR (manipulation d'IDs dans les URL), missing authorization, path traversal.
  • A02 Cryptographic Failures : analyse TLS (testssl.sh), stockage en clair, algorithmes cassés (MD5, SHA-1 pour hash de mot de passe).
  • A03 Injection : SQLi (sqlmap + tests manuels), XSS stockée/réfléchie/DOM, command injection, SSTI (Server-Side Template Injection), XXE (XML External Entity).
  • A07 Authentication : brute force, account enumeration, session fixation, JWT faible.
  • A10 SSRF : Server-Side Request Forgery via parseur URL, fetch côté serveur.
  • Business logic : conditions métier (achat à 0 €, manipulation de quantités, abus de workflow).

Phase 4 — Post-exploitation

Activités :

  • Chaînage de vulnérabilités (ex. XSS → cookie steal → session hijack → admin takeover).
  • Exfiltration de données démonstrative (échantillon, pas massif).
  • Évaluation de l'impact réel : quelle donnée a été accessible, quel privilège a été obtenu.
  • Nettoyage des artefacts si modifications effectuées (comptes test créés, données test insérées).

Phase 5 — Reporting

Structure standard du rapport :

  1. Synthèse exécutive (1-2 pages) pour dirigeants : nombre de vulnérabilités par criticité, risques business, priorités d'action.
  2. Résumé technique (2-3 pages) : périmètre testé, méthodologie, conditions de test.
  3. Fiches vulnérabilités (5-40 pages) : une par vulnérabilité avec description, CVSS, preuve (screenshots, payloads), reproduction step-by-step, recommandation de remédiation, références OWASP / CWE.
  4. Annexes : liste endpoints testés, méthodologie complète, outils utilisés, glossaire.

3. Les 3 types de mandat (black / gray / white box)

Chaque type a ses cas d'usage, son budget en j.h. et sa couverture.

TypeInformations fourniesScénario simuléCouverture typiqueBudget j.h.
Black boxURL et scope uniquementAttaquant externe sans accès30-50 %5-10 j.h.
Gray boxComptes utilisateur + rôlesAttaquant avec compte légitime60-80 %8-15 j.h.
White boxCode source, docs, accès logsAudit complet application critique85-95 %15-30 j.h.

Quand choisir chaque mode

Black box convient pour :

  • Simulation réaliste d'attaque externe.
  • Test de la perception de sécurité depuis l'extérieur.
  • Budget limité (5-10 j.h.) sur périmètre réduit.

Gray box est le mode dominant (70-80 % des missions pentest web françaises) :

  • Détection des vulnérabilités d'authentification et d'autorisation (IDOR, broken access control).
  • Test de l'escalade de privilèges.
  • Audit des fonctionnalités accessibles uniquement après authentification.

White box convient pour :

  • Applications critiques (paiement, santé, défense, OIV).
  • Détection des vulnérabilités logiques profondes cachées dans le code.
  • Audit de conformité strict (PCI-DSS, HDS).
  • Budget élevé (15-30 j.h.).

4. Les vulnérabilités recherchées (OWASP Top 10 + business logic)

OWASP Top 10 2021

Référentiel central pour tout pentester web. Les 10 catégories structurent la phase d'exploitation.

CatégorieExemples concretsFréquence observée
A01 — Broken Access ControlIDOR, missing authz, path traversal, CORS mal configuréTrès élevée (94 % apps testées)
A02 — Cryptographic FailuresTLS 1.0, MD5 pour mots de passe, stockage en clairÉlevée (75 %)
A03 — InjectionSQLi, XSS, command injection, SSTI, XXETrès élevée (94 %)
A04 — Insecure DesignPas de rate limiting, workflow abusableÉlevée (73 %)
A05 — Security MisconfigurationDefaults verbeux, CORS permissif, headers manquantsTrès élevée (90 %)
A06 — Vulnerable ComponentsBibliothèques obsolètes avec CVEÉlevée (84 %)
A07 — Auth FailuresBrute force possible, session fixationMoyenne (40-60 %)
A08 — Software Integrity FailuresDépendances non signées, CI/CD compromisMoyenne (30-50 %)
A09 — Logging FailuresAbsence de logs, pas de détection tentativeTrès élevée (90 %)
A10 — SSRFParseur URL côté serveur abusableMoyenne (30-50 %)

Vulnérabilités business logic (non couvertes par OWASP Top 10)

Spécifiques à l'application testée, nécessitent une compréhension du métier :

  • Achat à prix négatif ou nul (manipulation de quantités dans le panier).
  • Parrainage abusif (utilisateur qui se parraine lui-même 100 fois).
  • Course conditions (race conditions) : double spending, vote multiple.
  • Abus de workflow : sauter une étape critique du processus métier.
  • Enumeration business (lister les commandes d'autres clients via pagination).

Ces vulnérabilités demandent plus de temps à détecter (pas d'outil automatisé), mais sont souvent plus impactantes business que les CVE classiques.

5. La stack d'outils du pentester web

Burp Suite Professional (dominant 80 % du temps)

Tarif : 450 $ par an par utilisateur. Standard absolu en pentest web 2026.

Fonctions principales :

  • Proxy : interception et modification de toutes les requêtes HTTP/HTTPS.
  • Repeater : rejoue des requêtes modifiées, cœur du test manuel.
  • Intruder : automation de tests (fuzzing paramètres, brute force).
  • Scanner : scan automatisé de vulnérabilités web (payant Burp Pro uniquement).
  • Decoder / Comparer : utilitaires encodage et diff de réponses.

Extensions clés (BApp Store) :

  • Autorize : test automatique d'autorisation en remplaçant les sessions.
  • JWT Editor : manipulation interactive de JWT.
  • Turbo Intruder : brute force haute performance.
  • Param Miner : détection de paramètres cachés.
  • ActiveScan++ : extension scanner avec checks additionnels.

Autres outils essentiels

  • OWASP ZAP : alternative open source à Burp. Moins ergonomique mais automation CI/CD native via API REST.
  • sqlmap : référence absolue pour tests SQL injection automatisés. Python CLI.
  • Ffuf et Gobuster : brute force de répertoires, sous-domaines, paramètres.
  • Nuclei : scan de vulnérabilités par templates YAML (communauté active, 5000+ templates).
  • Postman et Bruno : construction et organisation de requêtes API, collections partageables.
  • testssl.sh : analyse approfondie de configuration TLS.
  • Wappalyzer (extension navigateur) : identification de technologies web.

Scripts Python personnels

Chaque pentester web confirmé a 10-30 scripts Python personnels pour des cas spécifiques :

  • Wrappers d'API clients pour tester un backend spécifique.
  • Parseurs de réponses JSON structurés pour extraire des patterns.
  • Automation de chaînes d'exploitation custom.
  • Générateurs de payloads polyglot adaptés au contexte.

6. Pentest web vs bug bounty vs AppSec review

Trois approches de sécurité web souvent confondues. Tableau comparatif opérationnel.

DimensionPentest webBug bountyAppSec review
CadreMission contractuelle ponctuelleProgramme public continuRôle interne attaché produit
Durée5-15 jours par missionContinu (pas de durée fixe)6-36 mois (contrat produit)
CouvertureExhaustive sur scope définiVariable selon chasseursComplète sur SDLC du produit
RémunérationForfait mission 5 000-30 000 €Prime par vulnérabilité validéeSalarié (AppSec engineer)
GarantieRésultat exhaustif (rapport)Aucune (pas de vuln = pas de prime)Continuité long terme
LivrableRapport 30-80 pagesRapport individuel par vulnérabilitéThreat models + code reviews + pentest interne
RelationClient - prestataireChasseur - plateformeEmployé - équipe produit

Complémentarité en pratique

Un produit SaaS B2B mature en 2026 combine typiquement les trois :

  • AppSec engineer interne : threat modeling des nouvelles features, code review continue, pentest applicatif interne hebdomadaire.
  • Pentest web externe annuel : audit indépendant complet pour certification ISO 27001, SOC 2 Type II, ou exigence client.
  • Programme bug bounty public : YesWeHack ou HackerOne, scope restreint, prime par vulnérabilité critique.

Pour approfondir la fiche métier AppSec engineer, voir Qu'est-ce qu'un AppSec engineer ? Fiche métier. Pour la spécialisation API spécifiquement, voir Qu'est-ce qu'un expert API security ? Fiche métier.

7. Exemple concret d'un rapport pentest web

Extrait type d'une fiche vulnérabilité dans un rapport pentest web professionnel. Exemple : SSRF via fonction d'import URL.

finding_id: "P001-SSRF-IMPORT"
titre: "Server-Side Request Forgery (SSRF) via endpoint d'import d'image"
criticite_cvss: 8.6
vecteur_cvss: "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L"
 
owasp_2021: "A10 - Server-Side Request Forgery (SSRF)"
cwe: "CWE-918"
 
description: |
  L'endpoint POST /api/v1/import-image accepte un paramètre url
  fourni par l'utilisateur authentifie pour recuperer une image distante.
  Aucune validation n'est effectuee sur l'URL fournie. Un attaquant
  authentifie peut faire pointer cette URL vers des ressources internes
  non exposees a l'Internet, incluant les metadonnees AWS EC2.
 
endpoint_vulnerable: "POST /api/v1/import-image"
scope: "Application principale, gray box utilisateur standard"
 
requete_exploit:
  methode: "POST"
  url: "https://app.example.fr/api/v1/import-image"
  headers:
    Authorization: "Bearer <JWT_user_standard>"
    Content-Type: "application/json"
  body: |
    {
      "url": "http://169.254.169.254/latest/meta-data/iam/security-credentials/prod-role"
    }
 
reponse_obtenue: |
  HTTP/1.1 200 OK
  Content-Type: application/json
 
  {
    "imported_content": "AKIA...REDACTED..."
  }
 
impact_technique: |
  Un attaquant authentifie peut recuperer les credentials IAM
  temporaires du role EC2 attaches a l'instance, lui permettant
  d'acceder aux ressources AWS (S3, DynamoDB, RDS) selon les
  permissions du role prod-role.
 
impact_business: |
  Acces potentiel aux donnees clients stockees en S3 (10M d'enregistrements).
  Risque de fuite massive si l'attaquant escalade l'acces.
 
reproduction:
  - "S'authentifier avec un compte utilisateur standard (inscription libre)"
  - "Executer la requete POST ci-dessus avec l'URL du metadata service AWS"
  - "Observer le contenu retourne contenant les credentials AWS"
 
recommandation_remediation:
  priorite: "CRITIQUE - remediation sous 7 jours"
  actions:
    - "Valider le format de l'URL (protocole HTTPS uniquement)"
    - "Blocker explicitement les IP privees et link-local (169.254.0.0/16, 10.0.0.0/8, etc.)"
    - "Utiliser un DNS rebinding protection (resolution avec verification)"
    - "Isoler la fonction d'import dans un service dedie sans acces reseau prive"
    - "Desactiver IMDSv1 sur les instances EC2, forcer IMDSv2 (AWS)"
 
references:
  - "OWASP SSRF Cheat Sheet"
  - "PortSwigger Web Security Academy - SSRF"
  - "https://owasp.org/www-community/attacks/Server_Side_Request_Forgery"
 
statut_remediation: "Non remediee (a valider lors du retest)"

Ce type de fiche structurée est répété pour chaque vulnérabilité identifiée dans le rapport final. Un rapport pentest web moyen contient 5-20 fiches de ce type selon scope et maturité sécurité du client.

Points clés à retenir

  • Pentest web = audit offensif contractualisé d'une application web ou API, 5-15 j.h. selon scope.
  • 5 phases de méthodologie : reconnaissance, mapping, exploitation, post-exploitation, reporting.
  • 3 types de mandat : black box (30-50 % couverture), gray box (dominant en France 2026, 70-80 % des missions), white box (15-30 j.h., critique).
  • Référentiel central OWASP Top 10 2021 + business logic spécifique à l'application.
  • Stack outils dominée par Burp Suite Pro (80 % du temps), complétée par OWASP ZAP, sqlmap, Ffuf, Nuclei.
  • Distinction claire avec bug bounty (continu, prime par vuln) et AppSec review (interne, durable).
  • Cadre juridique strict : article 323 Code pénal, Rules of Engagement signés obligatoires.
  • Livrable structuré : rapport 30-80 pages avec synthèse exécutive, fiches vulnérabilités CVSS, recommandations priorisées.

Pour la fiche métier pentester détaillée, voir Qu'est-ce qu'un pentester ? Fiche métier complète. Pour le market reality et les trajectoires d'accès au pentest junior, voir Peut-on devenir pentester sans expérience ?. Pour le plan opérationnel 18 mois pour devenir pentester, voir Les étapes pour devenir pentester : plan complet. Pour comparer avec l'AppSec engineer (rôle interne hands-on web), voir Qu'est-ce qu'un AppSec engineer ? Fiche métier. Pour la spécialisation API security (sous-discipline du pentest web), voir Qu'est-ce qu'un expert API security ? Fiche métier. La formation OWASP Web Security de Zeroday couvre exactement la méthodologie pentest web : OWASP Top 10 2021 avec labs pratiques, Burp Suite Professional avec extensions, exploitation manuelle des 10 catégories, business logic, rédaction de rapport structurée — base essentielle pour un premier poste pentest web junior.

Questions fréquentes

  • Qu'est-ce qu'un pentest web exactement ?
    Un pentest web (penetration test web) est un audit offensif encadré contractuellement d'une application web ou API, visant à identifier les vulnérabilités exploitables par un attaquant réel. Il suit une méthodologie structurée en 5 phases : reconnaissance (scope, technologies), mapping (énumération endpoints et fonctionnalités), exploitation (test des vulnérabilités OWASP Top 10 et spécifiques), post-exploitation (chaînage, pivot), reporting (rapport détaillé avec preuves). Durée typique : 5 à 15 jours-hommes selon scope. Le pentester livre un rapport structuré avec les vulnérabilités identifiées, leur criticité CVSS et les recommandations de remédiation priorisées.
  • Quelles sont les différences entre black box, gray box et white box ?
    Trois types de mandat pentest. Black box : le pentester ne reçoit aucune information sauf le scope (URL, périmètre). Simule un attaquant externe sans accès préalable. Gray box : le pentester reçoit des comptes utilisateurs de différents niveaux (simple user, admin, etc.) pour tester l'escalade de privilèges et les contrôles d'autorisation. Format le plus courant en pentest web français (70 à 80 % des missions). White box : le pentester reçoit en plus le code source, la documentation d'architecture et l'accès aux logs. Permet une couverture exhaustive, utile pour les applications critiques. Chaque mode a ses cas d'usage et son budget en jours-hommes.
  • Quelles vulnérabilités sont recherchées en pentest web ?
    Principalement les 10 catégories de l'OWASP Top 10 2021. 1) A01 Broken Access Control (IDOR, missing authz). 2) A02 Cryptographic Failures (TLS faible, crypto cassée). 3) A03 Injection (SQLi, XSS, command injection, LDAP injection, NoSQL injection). 4) A04 Insecure Design. 5) A05 Security Misconfiguration. 6) A06 Vulnerable and Outdated Components. 7) A07 Identification and Authentication Failures. 8) A08 Software and Data Integrity Failures. 9) A09 Security Logging and Monitoring Failures. 10) A10 Server-Side Request Forgery (SSRF). Le pentester teste également les vulnérabilités business logic spécifiques à l'application.
  • Quels outils sont utilisés en pentest web ?
    Stack standard en 2026. 1) Burp Suite Professional (450 $ par an) : référence absolue, 80 % du temps de mission. Extensions clés : Autorize, JWT Editor, Turbo Intruder, Param Miner. 2) OWASP ZAP : alternative open source, utile pour automation CI/CD. 3) sqlmap : automation des tests SQL injection. 4) Ffuf ou Gobuster : brute force répertoires et sous-domaines. 5) Nuclei : scan de vulnérabilités par templates. 6) Postman ou Bruno : construction de requêtes API. 7) Nmap : reconnaissance réseau amont si scope réseau inclus. Scripts Python personnels en complément pour cas spécifiques.
  • Quelle différence entre pentest web, bug bounty et AppSec review ?
    Trois approches distinctes de la sécurité web. Pentest web : mission cadrée 5-15 jours avec rapport complet, couverture exhaustive sur scope défini, rémunération forfaitaire. Bug bounty : recherche continue sur programmes publics, rémunération par vulnérabilité validée, pas de garantie d'exhaustivité. AppSec review : audit interne d'une équipe produit, threat modeling plus code review plus pentest ponctuel, relation durable avec l'équipe dev. Les trois se complètent : un produit mature a idéalement un AppSec engineer interne, des pentests web annuels externes, et un programme bug bounty public.

Écrit par

Naim Aouaichia

Expert cybersécurité et fondateur de Zeroday Cyber Academy

Expert cybersécurité avec un master spécialisé et un parcours hybride : développement, DevOps, DevSecOps, SOC, GRC. Fondateur de Hash24Security et Zeroday Cyber Academy. Formateur et créateur de contenu technique sur la cybersécurité appliquée, la sécurité des LLM et le DevSecOps.