Slowloris est un script écrit en Perl par Robert "RSnake" Hansen qui permet à une seule machine de faire tomber un serveur web en utilisant une bande passante minimale et des effets de bords sur des services et des ports sans rapport[1].

Capture d'écran de Slowloris dans l'invite de commandes.

Slowloris utilise une attaque de type DoS (attaque par déni de service), il affecte en particulier les serveurs Apache 1.x et 2.x qui représentent 67 % des serveurs sur le net.

Slowloris essaye de garder beaucoup de connexions ouvertes avec le serveur et les conserve le plus longtemps possible. Il l'accomplit en ouvrant des connexions avec la cible et lui envoyant une requête partielle. Périodiquement il envoie des headers HTTP, mais sans terminer la requête. Les serveurs visés vont conserver leurs connexions ouvertes, remplissant leur pool de connexion concurrente, et finalement empêche des connexions ultérieures des clients[1].

Le principe de ce petit script Perl est d’envoyer des requêtes HTTP partielles, à intervalle régulier, afin de garder les sockets ouverts. Slowloris initie donc une requête GET vers le serveur cible, il y a un échange entre les deux entités, comme le ferait n’importe quel client HTTP vers le serveur, or ici slowloris va faire en sorte que l’échange ne se termine jamais. Slowloris ne va pas envoyer les séquences attendues par le serveur mais lui fournira de temps en temps un en-tête bidon qui sera ignoré par le serveur, mais qui permettra de maintenir la connexion TCP ouverte, empêchant ainsi le socket d’être fermé. Le serveur devient rapidement saturé, aboutissant au déni de service.

Références modifier

  1. a et b (en) « Slowloris HTTP DoS », ha.ckers.org

Liens externes modifier