cyber:vulnerabilite:http_methods
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
cyber:vulnerabilite:http_methods [2025/06/27 15:17] – admin | cyber:vulnerabilite:http_methods [2025/07/13 14:44] (Version actuelle) – [Exemple 1] admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
===== Description ===== | ===== Description ===== | ||
- | Dans le domaine de l' | ||
- | Cette activité s'avère indispensable lorsqu' | + | **Les méthodes HTTP sont des verbes utilisés dans les requêtes HTTP pour indiquer l'action à effectuer |
- | ===== Prérequis | + | D' |
+ | * **GET** sert à obtenir une représentation de la ressource spécifiée. Par exemple, on récupérera des informations sur un utilisateur avec un GET (GET / | ||
+ | * **POST** sert à soumettre une nouvelle entité à la ressource spécifiée. Par exemple, on enregistrera un nouvel utilisateur sur une plateforme avec un formulaire soumis via un POST (POST / | ||
+ | * **PUT** sert à remplacer les données de la ressource spécifiée avec les données de la requête. Par exemple, on mettra à jour les informations | ||
+ | * **DELETE** sert à supprimer la ressource spécifiée. Par exemple, on supprimera un utilisateur avec la méthode DELETE (DELETE / | ||
- | Pour mener une analyse de logs, il est impératif | + | Exemple |
- | ==== Connaissances nécessaires ==== | + | <code http> |
+ | GET / | ||
+ | Host: www.example.com | ||
+ | User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/ | ||
+ | Accept: text/ | ||
+ | Accept-Encoding: | ||
+ | Accept-Language: | ||
+ | Cookie: sessionID=12345; username=john.doe | ||
+ | </ | ||
- | * Compréhension | + | Réponse |
- | | + | |
- | * Maîtrise | + | <code html> |
+ | HTTP/1.1 200 OK | ||
+ | Date: Thu, 31 Mar 2023 10:15:00 GMT | ||
+ | Content-Type: | ||
+ | Content-Length: | ||
+ | Connection: keep-alive | ||
+ | Server: Apache/ | ||
+ | X-Powered-By: | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | On notera que toutes les APIs et toutes les applications ne respectent pas nécessairement la RFC. | ||
+ | |||
+ | Les services web exposent parfois involontairement | ||
+ | |||
+ | ===== Prérequis d' | ||
+ | Pour exploiter cette vulnérabilité, | ||
+ | |||
+ | ==== Connaissances nécessaires ==== | ||
+ | * Connaissance | ||
+ | * Maîtrise de la notion de méthode HTTP. | ||
==== Outils nécessaires ==== | ==== Outils nécessaires ==== | ||
- | * Des outils | + | * Outils de modification et/ou d’interception |
- | * Un éditeur de texte avancé ou un outil capable de traiter de grands volumes de données textuelles peut également être utile. | + | |
===== Flux d' | ===== Flux d' | ||
Ligne 26: | Ligne 65: | ||
==== Explorer ==== | ==== Explorer ==== | ||
- | Collecter des données de log à partir de différentes sources comme les serveurs, les routeurs, les firewalls | + | Naviguer sur l’application pour récupérer |
==== Expérimenter ==== | ==== Expérimenter ==== | ||
- | Analyser les données de log collectées pour trouver | + | Pour chacune |
- | + | ||
- | Par exemple, lors de l' | + | |
==== Exploiter ==== | ==== Exploiter ==== | ||
- | Consultez les solutions de chaque challenge. | ||
- | ===== Bénéfices potentiels | + | ===== Conséquences potentielles |
- | L' | + | Une exploitation réussie de ce type de vulnérabilité |
- | * La découverte | + | * Le contournement |
- | * L'identification d' | + | * L'accès à des ressources sensibles |
- | * La compréhension des impacts d'une attaque ou d'une défaillance sur un système. | + | |
- | ===== Prérequis | + | ===== Contre-mesures |
- | Les prérequis suivants | + | Les contre-mesures suivantes |
- | * Mettre en place et appliquer une politique de journalisation adaptée au exigences légales | + | * Configurer le serveur web pour n' |
- | * Utiliser des outils de surveillance et d'analyse | + | * Utiliser des contrôles |
+ | * Utiliser un pare-feu applicatif pour bloquer les requêtes HTTP non autorisées ou suspectes. | ||
- | ====== | + | ====== |
+ | Les scénarios suivants peuvent être joués via l’exploitation de cette vulnérabilité : | ||
+ | * L' | ||
+ | * L' | ||
===== Exemple 1 ===== | ===== Exemple 1 ===== | ||
+ | Voici une configuration Apache potentiellement vulnérable aux modifications de méthodes HTTP : | ||
- | Voici un exemple de logs Apache qui pourraient indiquer une tentative d' | + | <code apache> |
- | + | < | |
- | < | + | |
- | 127.0.0.1 - - [21/Jan/2022: | + | |
- | 127.0.0.1 - - [21/ | + | </Directory> |
- | 127.0.0.1 - - [21/Jan/ | + | |
</ | </ | ||
- | Dans cet exemple, trois requêtes HTTP distinctes sont envoyées au serveur | + | Cette configuration permet aux utilisateurs de l' |
- | * La première requête contient | + | Voici une nouvelle version |
- | < | + | < |
- | 1' OR ' | + | < |
+ | AllowOverride None | ||
+ | <Limit GET POST> | ||
+ | Require all granted | ||
+ | </ | ||
+ | </ | ||
</ | </ | ||
- | dans le paramètre **id**. | + | Cette configuration permet uniquement |
- | * La deuxième requête, avec la chaîne | + | ===== Exemple 2 ===== |
- | < | ||
- | 1' OR ' | ||
- | </ | ||
- | , est une autre tentative | + | Un attaquant identifie |
+ | L'attaquant | ||
- | * La troisième requête est une tentative d' | + | <code shell> |
- | ===== Exemple | + | $ curl -X GET vulnerable.org/ |
+ | > < HTTP/2 401 | ||
+ | > [...] | ||
+ | > Forbidden | ||
+ | </ | ||
+ | En modifiant la méthode HTTP utilisée, l' | ||
- | Voici un exemple de logs Nginx qui pourraient indiquer une tentative d' | + | <code shell> |
- | <code class=" | + | $ curl -X POST vulnerable.org/api/v1//user/5678/info -i |
- | 127.0.0.1 - - [21/Jan/2022: | + | > < HTTP/2 200 |
- | 127.0.0.1 - - [21/ | + | > [...] |
+ | > username: victim | ||
+ | > [...] | ||
</ | </ | ||
- | Dans cet exemple, deux requêtes HTTP sont envoyées au serveur Nginx. | + | ====== CWEs ====== |
- | * La première requête tente d' | + | * [[https://cwe.mitre.org/ |
- | * La deuxième requête tente d' | + | |
- | + | ||
- | ===== References ===== | + | |
- | URL : | + | ====== References ====== |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
+ | URL : | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
====== Retour fiches vulnérabilités ====== | ====== Retour fiches vulnérabilités ====== | ||
* [[cyber: | * [[cyber: | ||
cyber/vulnerabilite/http_methods.1751030242.txt.gz · Dernière modification : 2025/06/27 15:17 de admin