web-dev-qa-db-fra.com

Que sont les attaques d'inondation HTTP GET / POST?

Je veux savoir quelles sont les principales différences entre HTTP GET et POST attaques par inondation et stratégies d'atténuation pour les deux.

J'ai beaucoup cherché mais je ne trouve vraiment pas de bons articles ni d'exemples sur ces attaques.

10
user19775

Lorsqu'un client HTTP (par exemple, un navigateur Web) parle à un serveur HTTP (un serveur Web), il envoie des demandes qui peuvent être de plusieurs types, les deux principaux étant GET et POST. Une requête GET est utilisée pour les "liens normaux", y compris les images; ces demandes sont destinées à récupérer une donnée statique, l'URL pointant vers cette donnée. Lorsque vous entrez une URL dans la barre d'URL, une GET est également effectuée.

POST les requêtes sont utilisées avec les formulaires. Une demande POST inclut des paramètres, qui sont généralement extraits des champs de saisie de la même page.

Lors d'une inondation, l'attaquant souhaite submerger le serveur cible sous de nombreuses requêtes, afin de saturer ses ressources informatiques. L'inondation fonctionne mieux lorsque le serveur alloue beaucoup de ressources en réponse à une seule demande. Étant donné que les requêtes POST incluent des paramètres, elles déclenchent généralement un traitement relativement complexe sur le serveur (par exemple, les accès à la base de données), qui sont plus coûteux pour le serveur que de servir un GET beaucoup plus simple. Ainsi, l'inondation basée sur POST a tendance à être plus efficace que l'inondation basée sur GET (il faut moins de requêtes pour noyer le serveur si les requêtes sont POST). D'autre part, les requêtes GET étant beaucoup plus courantes, il est souvent beaucoup plus facile pour l'attaquant d'obtenir de l'aide (involontaire) dans son effort d'inondation lorsque GET- inondation (comme le dit @Rory, il ne prend qu'un lien pour une image en ligne sur un site populaire, et tous ceux qui naviguent sur ce site envoient automatiquement une requête GET au serveur cible).

(Bien sûr, tout site Web particulier peut effectuer un traitement complexe sur certaines requêtes GET spécifiques; je ne parle ici que du comportement average.)

18
Thomas Pornin

Un problème intéressant avec l'inondation HTTP (pour tous les types de requêtes HTTP) est qu'ils ont tendance à vaincre de nombreux IPS (services de protection contre les intrusions) car la majorité d'entre eux ont tendance à se concentrer sur TCP basé sur les attaques par déni de service. Vous pouvez écrire IPS règles pour détecter contre les attaques par déluge HTTP mais il faut être très prudent car elles sont difficiles à distinguer du trafic réel dans certains cas.

lire cet article wiki sur les différentes formes de méthodes de requête HTTP. La majorité des développeurs que j'ai rencontrés ne se rendent pas compte qu'il existe d'autres méthodes que POST et GET.

4
Callum Wilson

Vraiment, la seule différence entre ces deux va être la méthode HTTP utilisée (GET vs POST). En termes de facilité d'attaque, il existe plus de scénarios où une attaque basée sur GET serait pratique (par exemple, incorporer une image en ligne sur un site populaire dont les liens vers le site cible pourrait provoquer un DoS) mais à part cela si vous recherchez un générique articles sur les attaques HTTP DoS, ils s'appliqueront probablement aux deux également.

2
Rory McCune