Vulnérabilités GET et POST
Vulnérabilités liées aux paramètres GET et POST
Notions théoriques
Les paramètres GET et POST sont utilisés pour transmettre des données entre un client (navigateur) et un serveur web.
info
Une mauvaise gestion des paramètres GET et POST peut entraîner des failles de sécurité exploitables par des attaquants.
Différences entre GET et POST
Critère | GET | POST |
---|---|---|
Visibilité des données | Visible dans l'URL | Caché dans le corps de la requête |
Taille des données | Limité (~2000 caractères) | Illimité |
Utilisation courante | Recherche, navigation | Formulaires, authentification |
Sécurité | Moins sécurisé (exposé dans l'URL) | Plus sécurisé (non stocké dans l'historique) |
Vulnérabilités courantes
Injection SQL
- Un attaquant peut modifier un paramètre GET/POST pour exécuter du SQL malveillant.
- Exemple :
?id=1 OR 1=1
peut permettre d'afficher toutes les données d'une base.
Cross-Site Scripting (XSS)
- L’attaquant injecte du JavaScript malveillant via un paramètre GET/POST.
- Exemple :
?message=<script>alert('XSS')</script>
affiche une alerte piégée.