[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <E0750457-1054-4254-9E41-8C84C13A346B@gmail.com>
Date: Wed, 24 Aug 2011 16:26:10 +0200
From: Davide Guerri <davide.guerri@...il.com>
To: Douglas Huff <dhuff@...obdobbs.org>
Cc: full-disclosure@...ts.grok.org.uk
Subject: Re: Apache Killer
Hi Douglas,
I'd put optional spaces (\s*) between bytes= and the ranges and between ranges.
The following
> bytes= 0-1, 5-69,-69
is a valid Range header value (I mean that is accepted by apache).
I agree with you about not to check the http method (GET/HEAD/POST seem to be all vulnerable) and about the use of the [N]o[S]ub and the [L]ast flag.
To sum up I'd rather use something like the following:
> RewriteEngine On
> RewriteCond %{HTTP:Range} ([0-9]*-[0-9]*)(\s*,\s*[0-9]*-[0-9]*)+
> RewriteRule .* - [NS,L,F]
I can say nothing about the efficiency of the Cond.
If you remove any check that matches a single range webdav should work. It seems really unusual for a service to use multiple ranges to me...
Davide.
On 24/ago/2011, at 15:40, Douglas Huff wrote:
> I think this is a more complete rule that should be slightly more efficient and thorough even though it's 3 separate matches:
>
> RewriteEngine On
> RewriteCond %{HTTP:Range} bytes=0-[0-9]+, [NC,OR]
> RewriteCond %{HTTP:Range} bytes=([0-9-],){4,} [NC,OR]
> RewriteCond %{HTTP:Range} bytes=[0-9,-]+,0-(,|$) [NC]
> RewriteRule .? http://%{SERVER_NAME}/ [NS,L,F]
>
> I cannot remember if the second RewriteCond's syntax is supported by mod_rewrite and don't have a machine handy right this moment to test effectiveness anyhow.
>
> This should stop any requests with a range starting with 0- specified as a range (first and third rule) or 4 or more ranges included (second rule).
>
> --
> Douglas Huff
>
> On Aug 24, 2011, at 5:29 AM, Carlos Alberto Lopez Perez wrote:
>
>> On 20/08/11 14:05, Moritz Naumann wrote:
>>> On 20.08.2011 00:23 HI-TECH . wrote:
>>>> (see attachment)
>>>> /Kingcope
>>>
>>> Works (too) well here. Are there any workarounds other than rate
>>> limiting or detecting + dropping the traffic IPS-wise?
>>>
>>> Moritz
>>>
>>
>> You can use the following redirect as a temporally workaround:
>>
>> # a2enmod rewrite
>>
>> RewriteEngine On
>> RewriteCond %{HTTP:Range} bytes=0-.* [NC]
>> RewriteRule .? http://%{SERVER_NAME}/ [R=302,L]
>>
>>
>>
>> _______________________________________________
>> Full-Disclosure - We believe in it.
>> Charter: http://lists.grok.org.uk/full-disclosure-charter.html
>> Hosted and sponsored by Secunia - http://secunia.com/
>
> _______________________________________________
> Full-Disclosure - We believe in it.
> Charter: http://lists.grok.org.uk/full-disclosure-charter.html
> Hosted and sponsored by Secunia - http://secunia.com/
_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/
Powered by blists - more mailing lists