Slowloris – HTTP DoS Tool in PERL

Use Netsparker


This tool has been hitting the news, including some mentions in the SANS ISC Diary.

It’s not actually a new attack (it’s been around since 2005) but this is the first time a packaged tool has been released for the attack.

Slowloris holds connections open by sending partial HTTP requests. It continues to send subsequent headers at regular intervals to keep the sockets from closing. In this way webservers can be quickly tied up. In particular, servers that have threading will tend to be vulnerable, by virtue of the fact that they attempt to limit the amount of threading they’ll allow.

Slowloris must wait for all the sockets to become available before it’s successful at consuming them, so if it’s a high traffic website, it may take a while for the site to free up it’s sockets. So while you may be unable to see the website from your vantage point, others may still be able to see it until all sockets are freed by them and consumed by Slowloris. This is because other users of the system must finish their requests before the sockets become available for Slowloris to consume. If others re-initiate their connections in that brief time-period they’ll still be able to see the site.

So it’s a bit of a race condition, but one that Slowloris will eventually always win – and sooner than later.

Slowloris lets the webserver return to normal almost instantly (usually within 5 seconds or so). That makes it ideal for certain attacks that may just require a brief down-time.

This affects a number of webservers that use threaded processes and ironically attempt to limit that to prevent memory exhaustion – fixing one problem created another. This includes but is not necessarily limited to the following:

  • Apache 1.x
  • Apache 2.x
  • dhttpd
  • GoAhead WebServer
  • Squid

There are a number of webservers that this doesn’t affect as well, in the authors testing:

  • IIS6.0
  • IIS7.0
  • lighttpd
  • nginx
  • Cherokee (verified by user community)

You can download Slowloris here:

slowloris.pl

Or read more here.

Posted in: Exploits/Vulnerabilities, Networking Hacking, Web Hacking

, , , , ,


Latest Posts:


BDFProxy - Patch Binaries via MITM - BackdoorFactory + mitmProxy BDFProxy – Patch Binaries via MiTM – BackdoorFactory + mitmproxy
BDFProxy allows you to patch binaries via MiTM with The Backdoor Factory combined with mitmproxy enabling on the fly patching of binary downloads
Domained - Multi Tool Subdomain Enumeration Domained – Multi Tool Subdomain Enumeration
Domained is a multi tool subdomain enumeration tool that uses several subdomain enumeration tools and wordlists to create a unique list of subdomains.
Acunetix Vulnerability Scanner For Linux Now Available Acunetix Vulnerability Scanner For Linux Now Available
Acunetix Vulnerability Scanner For Linux is now available, now you get all of the functionality of Acunetix, with all of the dependability of Linux.
Gerix WiFi Cracker - Wireless 802.11 Hacking Tool With GUI Gerix WiFi Cracker – Wireless 802.11 Hacking Tool With GUI
Gerix WiFi cracker is an easy to use Wireless 802.11 Hacking Tool with a GUI, it was originally made to run on BackTrack and this version has been updated for Kali (2018.1).
Malcom - Malware Communication Analyzer Malcom – Malware Communication Analyzer
Malcom is a Malware Communication Analyzer designed to analyze a system's network communication using graphical representations of network traffic.
WepAttack - WLAN 802.11 WEP Key Hacking Tool WepAttack – WLAN 802.11 WEP Key Hacking Tool
WepAttack is a WLAN open source Linux WEP key hacking tool for breaking 802.11 WEP keys using a wordlist based dictionary attack.


5 Responses to Slowloris – HTTP DoS Tool in PERL

  1. Greg June 23, 2009 at 10:06 am #

    As i saw it appearing on Milw0rm, i knew this will be a headliner :)

  2. Motoma June 23, 2009 at 6:08 pm #

    There is a python version of this titled PyLoris which runs in Windows, Linux, and Mac OS X.

  3. David June 23, 2009 at 6:12 pm #

    Another great sharing from RSnake. Tool very well developed and I already tested with success on my home pen-testing. Top of the news!

  4. droope June 24, 2009 at 2:41 am #

    uh, that seems like a fun tool.

    I can smell all fellow script kiddies enjoying this.

  5. Jeff Price June 24, 2009 at 6:38 pm #

    I wrote this version a few years ago in bash

    #!/bin/bash
    while true; do
    printf “GET / HTTP/1.0\n”|nc $1 80 &
    done