


I want to know whether there are any apache config parameters that I can set to break the connection from the server side after waiting sometime for the client to read the data. Server sends the data when the client window size is > 0 and again goes back to wait for the client. As a result, the server often polls the client and finds that, the receive window size of the client is zero since the client has not yet read the receive buffer.īut it looks like the server does not bother to break the connection and it silently keeps polling the client. But, at the client side, I wait for 100 secs between successive reads. Since the file is huge and the client receive buffer is small, the server has to send the file in multiple chunks. Read the response from the server in a loop waiting 100 secs before successive reads.Request a huge file (say ~1MB) from the http server.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.I am trying to simulate a slow http read attack against apache server running on my localhost.īut it seems like, the server does not complain and simply waits forever for the client to read. That makes it ideal for certain attacks that may just require a brief down-time. Slowloris lets the webserver return to normal almost instantly (usually within 5 seconds or so). So it’s a bit of a race condition, but one that Slowloris will eventually always win – and sooner than later. If others re-initiate their connections in that brief time-period they’ll still be able to see the site. This is because other users of the system must finish their requests before the sockets become available for Slowloris to consume. 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. 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. 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. In this way webservers can be quickly tied up. Course material on Download course Web Security: PHP Exploits, SQL Injection, and the Slowloris Attack, free PDF ebook. It continues to send subsequent headers at regular intervals to keep the sockets from closing. Slowloris holds connections open by sending partial HTTP requests. Slowloris is a denial-of-service attack program which allows an attacker to overwhelm a targeted server by opening and maintaining many simultaneous HTTP.

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. This tool has been hitting the news, including some mentions in the SANS ISC Diary.
