#概要
Slowhttpをご存知だろうか。
DOSの手法の一つで、セッションを多く貼ることによりサーバーのリソースを使い切らせようとする行為です。
適切にセッションが切断されないこと が本脆弱性の本質です。
#手法
手法に関しては下記のリンク(英語)に詳しくあります。
https://media.blackhat.com/bh-dc-11/Brennan/BlackHat_DC_2011_Brennan_Denial_Service-Slides.pdf
#slowhttp をテストする
下記のリンクからソースを取得し、自機以外のサーバーからテストしてみます。
https://github.com/shekyan/slowhttptest/wiki
##環境
私は以下の環境でテストしました。
Ubuntu 18 Desktop
##インストール
- ソースを取得 ZIPで取得しても良いし、Githubに使い慣れている方はPullして使うもよし
- ./configure
- make
- meke install
注意 : 2 の部分で足りないコンポーネントを言ってくるので "sudo apt-get install XXX" でインストールしていくと早い。gcc, c++ あたりは必要ですね。
ただし、"OpenSSL-devel" の場合は下記のように"libssl-dev"と読み替えること
apt-get install "libssl-dev"
#実行
下記のようにつかいます。(下記のグラフと一致していません)
./slowhttptest -c 300 -B -l 300 -g -o test_log -i 300 -r 200 -t GET -u http://example.com/ -x 24 -p 3
とあるサイトの結果です。
このサイトには対策がされています。以下を参考に
各ウェブサーバー毎に対応策が載っています。参考までに
How to Protect Against Slow HTTP Attacks
https://blog.qualys.com/securitylabs/2011/11/02/how-to-protect-against-slow-http-attacks