2 - Attaques web¶
Cette page couvre les vulnérabilités web classiques rencontrées en pentest : injection SQL, XSS, inclusion de fichiers, brute force de formulaires, WordPress, injection de commandes, SSTI et upload de fichiers. Chaque section reprend les commandes exactes d'Enum2Root et renvoie vers des références vérifiées (HackTricks, PayloadsAllTheThings, PortSwigger Web Security Academy, OWASP).
Jetons
Les commandes utilisent des jetons à substituer par vos valeurs :
{URL}- URL de base de l'application (ex.http://target.tld){IP}- adresse IP de la cible{USER}- nom d'utilisateur{PASS}- mot de passe<listener_ip>- IP de votre machine d'attaque (callback / out-of-band)<path>,<params>,<fail_string>,<size>,<CA>,<Template>- valeurs à adapter au contexte
SQL Injection¶
Injection SQL (injection). Contournement d'authentification classique : admin'-- ou ' OR '1'='1.
Références
Détection / dump (GET)¶
Voir aussi : sqlmap - dépôt officiel · sqlmap - guide d'utilisation
Requête POST¶
Voir aussi : PortSwigger - SQL injection cheat sheet
Depuis une requête capturée + dump¶
Voir aussi : PortSwigger - Blind SQL injection
RCE (si autorisé)¶
Voir aussi : sqlmap - guide d'utilisation
XSS (Cross-Site Scripting)¶
Cross-Site Scripting (injection). Reflected / stored / DOM. Sondez d'abord, puis escaladez vers le vol de cookie ou des actions.
Références
Sonde rapide (reflected)¶
Voir aussi : PortSwigger - XSS cheat sheet
Scan automatisé (dalfox)¶
Voir aussi : dalfox - dépôt officiel
Vol de cookie (out-of-band)¶
Voir aussi : PortSwigger - Exploiting cross-site scripting
LFI / Path Traversal¶
Inclusion de fichiers / traversée de répertoire (inclusion). -mc filtre par code de réponse, -fs filtre par taille.
Références
Fuzz du paramètre¶
ffuf -u "{URL}/index.php?FUZZ=test" -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt -fs <size>
Voir aussi : SecLists - dépôt officiel
Fuzz fichiers / wrappers¶
Voir aussi : PayloadsAllTheThings - File Inclusion
Lecture directe¶
Voir aussi : PortSwigger - Path traversal
Form brute force¶
Brute force de formulaire (bruteforce). Adaptez <path>, <params> et la <fail_string>.
Références
Formulaire POST (hydra)¶
hydra -l {USER} -P /usr/share/wordlists/rockyou.txt {IP} http-post-form "<path>:<params>:<fail_string>"
Voir aussi : SecLists - dépôt officiel
Authentification Basic¶
Voir aussi : PortSwigger - Password-based authentication
WordPress¶
CMS WordPress (CMS). Si WordPress est détecté : lancez wpscan en premier.
Énumération (utilisateurs, plugins, thèmes)¶
Voir aussi : WPScan - dépôt officiel
Brute force d'un utilisateur¶
Voir aussi : WPScan - installation
Command Injection¶
Injection de commandes (injection). Testez les séparateurs : ; | & && nouvelle ligne $(...) `...`.
Références
Détection (dans un paramètre)¶
Voir aussi : PortSwigger - OS command injection
Aveugle (temporisation / out-of-band)¶
Voir aussi : PayloadsAllTheThings - Command Injection
SSTI (templates)¶
Server-Side Template Injection (injection). Testez {{7*7}} : si la page affiche 49, elle est vulnérable.
Références
Identifier le moteur¶
Voir aussi : PortSwigger - Server-side template injection
RCE Jinja2 (Python)¶
Voir aussi : PayloadsAllTheThings - Server Side Template Injection
File upload¶
Upload de fichiers (upload). Contournement des filtres d'extension / content-type.
Références
Contournement extension / type¶
# shell.php.jpg | shell.pHp | shell.phtml | .php%00.jpg
# Content-Type: image/jpeg + magic bytes GIF89a; au début
Voir aussi : PortSwigger - File upload vulnerabilities
Webshell PHP minimal¶
Voir aussi : PayloadsAllTheThings - Upload Insecure Files