Hach, ich liebe Unix! Habe mal soeben auf die Schnelle einen Apache 2.2 Webserver mit 168 VHosts gehen den Byte-Range-Bug gehärtet.
Und zwar habe ich mir ein kleines awk-Script geschrieben, das mir hinter die sowieso vorhandenen RewriteEngine-Zeilen die Regeln von http://seclists.org/fulldisclosure/2011/Aug/241 zimmert.
#!/usr/bin/awk -f
# Hinter Zeilen mit RewriteEngine Zeilen einfuegen
$0 ~ /^[[:blank:]]*RewriteEngine.*/ {
print $0
print " # RewriteRules fuer Apache Byte-Range-Bug"
print " RewriteCond %{REQUEST_METHOD} ^(HEAD|GET) [NC]"
print " RewriteCond %{HTTP:Range} ([0-9]*-[0-9]*)(s*,s*[0-9]*-[0-9]*)+"
print " RewriteRule .* - [F]"
print ""
next
}
# alle anderen Zeilen ausgeben
{
print $0
}
Das Script mit einer while-Schleife aufgerufen und fertig ist der Lack.