什么是HTTP慢速攻击?看不见的温水煮青蛙,如何瘫痪你的服务器?

admin 2025年6月23日22:57:35评论17 views字数 3346阅读11分9秒阅读模式

引言想象一家火爆的餐厅:虽然满座,但一半顾客故意拖延用餐——每10分钟才吃一粒米。新顾客无法入座,餐厅看似“满负荷”却实际瘫痪。这就是HTTP慢速攻击的本质:用极低速度消耗服务器连接资源,导致正常用户被拒绝服务(DoS)。

一、攻击原理:HTTP协议的“漏洞利用”

核心逻辑

HTTP协议要求服务器必须完整接收请求才能处理。攻击者建立连接后:

  1. 不发送完整请求,而是以“挤牙膏”方式传输数据(如每10秒发送1字节);
  2. 持续保持连接,耗尽服务器的并发连接池;
  3. 最终服务器资源枯竭,拒绝新请求。

📌 关键点:攻击带宽成本极低!1台普通电脑即可瘫痪大型服务器。

二、四大攻击类型详解(附原理图)

什么是HTTP慢速攻击?看不见的温水煮青蛙,如何瘫痪你的服务器?
慢速攻击的四种经典变种
1. Slow Headers(慢速头攻击)

原理:发送不完整的HTTP头部(缺失结束符rnrn),让服务器无限等待。

什么是HTTP慢速攻击?看不见的温水煮青蛙,如何瘫痪你的服务器?
攻击者一直发送一个不完整头部
什么是HTTP慢速攻击?看不见的温水煮青蛙,如何瘫痪你的服务器?
正常头部有2个连续的结束符rn

关键陷阱:服务器为每个连接分配内存(通常≥4KB),10000个连接即消耗40MB以上资源

2. Slow Body(慢速请求体攻击)

原理

声明超大Content-Length(如100MB),但每10秒只发1字节,使得该连接一直保持存活,消耗服务器的连接和内存资源。

3. Slow Read(慢速读取攻击)

原理

HTTP客户端在接收响应时故意拖延,通过发送Zero Window(零窗口)信号给服务端,假装网络拥堵,从而让服务器误识认为客户端很忙,直到连接快超时前才读取一个字节,以消耗服务器的连接和内存资源。

特点:服务器需持续维护连接状态,内存被榨干。

通过如下抓包数据可以看出,服务器收到了客户端的 ZeroWindow 消息(表示自己没有缓冲区接收数据了),接着服务器便持续向客户端发出 ZeroWindowProbe 包,询问客户端是否可以继续接收数据。

什么是HTTP慢速攻击?看不见的温水煮青蛙,如何瘫痪你的服务器?
wireshark抓包分析图
4. Range Attack(范围攻击)

原理

Range Attack是一种针对WEB服务器的DoS攻击,利用Apache服务器处理HTTP Range头部字段漏洞,通过多个字节范围请求使服务器进行复杂计算和资源分配,从而导致服务器资源消耗增加甚至崩溃。

HTTP Range头部允许客户端请求特定的字节范围。例如:

GET /file.txt HTTP/1.1HOST: example.comRange: bytes=0-100,200-300,400-500,600-700,...

特点

攻击在HTTP Range头部中指定大量重叠或无序的字节范围,从而导致服务器进行复杂的计算和资源分配。

三、防御实战:构建四重防护体系

1. Web服务器加固配置(Nginx示例)

http {    # 关键防御参数    client_header_timeout 5s;     # 请求头超时    client_body_timeout 5s;       # 请求体超时    keepalive_timeout 10s;        # 长连接超时    reset_timedout_connection on; # 自动重置超时连接    # 连接限制策略    limit_conn_zone $binary_remote_addr zone=perip:10m;    limit_conn perip 50;          # 单IP最大连接数}

2. 专用防护设备策略

什么是HTTP慢速攻击?看不见的温水煮青蛙,如何瘫痪你的服务器?

3. 云防护方案

方案类型
代表产品
抗慢速攻击能力
实施复杂度
CDN加速
Cloudflare
★★★☆☆
云WAF
AWS Shield
★★★★☆
专用防护系统
Radware DefensePro
★★★★★

4. 企业级防护进阶方案

深度检测算法示例:

defdetect_slow_attack(conn):if conn.duration > 300:               # 超长连接if conn.bytes_sent < 512:          # 发送数据极少if conn.req_rate < 10:        # 请求速率极低returnTrue# 判定为攻击returnFalse

应急响应清单

  1. 实时监控连接池使用率(设置>80%告警)
  2. 自动启动IP临时黑名单(如fail2ban工具)
  3. 切换备用防护策略(启用挑战验证机制)
  4. 联系ISP进行流量清洗

四、自测工具:slowhttptest

什么是HTTP慢速攻击?看不见的温水煮青蛙,如何瘫痪你的服务器?
slowhttptest工具

slowhttptest默认提供了针对以上四种攻击的选项:

  • -H:慢速头部攻击(Slowloris,默认模式)
  • -B:慢速主体攻击(R-U-Dead-Yet)
  • -R:范围攻击(Apache Killer)
  • -X:慢速读取攻击(Slow Read)
1. 安装工具

如果是ubuntu系统可以直接执行命令apt-get install slowhttptest安装。工具详细参数介绍如下:

  • 通用参数选项

    • -c connections:目标连接数(默认值:50)
    • -i seconds:后续数据发送的时间间隔(秒)(默认值:10)
    • -l seconds:测试持续时间(秒)(默认值:240)
    • -r rate:每秒建立的连接数(默认值:50)
    • -s bytesContent-Length 头部的值(如果需要)(默认值:4096)
    • -t verb:请求中使用的 HTTP 方法,默认为慢速头部和响应使用 GET,慢速主体使用 POST
    • -u URL:目标的绝对 URL(例如:http://localhost/
    • -x bytes:每次随机生成的名称/值对的最大长度(默认值:32)
    • -f content-typeContent-Type 头部的值(默认值:application/x-www-form-urlencoded
    • -m acceptAccept 头部的值(默认值:text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
  • 报告相关参数项

    • -g:生成包含套接字状态变化的统计信息(默认关闭)
    • -o file_prefix:将统计输出保存到 file.html 和 file.csv 文件中(需要启用 -g
    • -v level:设置详细程度级别(0-4):致命错误、信息、错误、警告、调试
2. 模拟攻击

可以采用如下四个攻击模式验证目标应用是否存在HTTP慢速攻击。

# 1.Slowloris攻击slowhttptest -c 1000 -H -g -o slow_header_report -i 100 -r 200  -t GET -u http://yoursite.com -x 20 -p 3# 2.R-U-Dead-Yet攻击slowhttptest -c 1000 -B -g -o slow_body_report -i 100 -r 200 -s 8192 -t GET -u http://yoursite.com -x 20 -p 3 # 3.Slow Read攻击slowhttptest -c 1000 -X -g -o slow_read_report -r 10000 -w 10 -y 20 -n 5 -z 30 -u http://yoursite.com -p 3 -l 400# 4.Appache Killer攻击 slowhttptest -c 1000 -R -u http://yoursite.com -t HEAD -a 10 -b 3000 -r 600

注意:测试时需确保获取了合法授权。

3. 观测指标
  • 服务是否持续可用(Service Available: Yes);
  • 连接是否在超时后自动释放。
什么是HTTP慢速攻击?看不见的温水煮青蛙,如何瘫痪你的服务器?
Slowloris攻击样例

五、总结:防御关键点

  1. 超时时间是生命线:务必低于30秒;
  2. 监控连接状态:突发长期空闲连接即告警;
  3. 混合防护:配置调优+流量清洗+架构优化。

🔑 核心认知:慢速攻击不是“洪水猛兽”,而是“滴水穿石”。防御的核心在于主动切断异常连接,而非被动增加资源!

参考资料

  • CC攻击的变异品种——慢速攻击.pdfhttps://url25.ctfile.com/f/1848625-1520222680-1b0fed?p=6277 (访问密码: 6277)

免责声明:本文技术方案需根据业务场景测试调整,盲目配置可能导致服务中断。本文仅供学习交流,使用工具时需遵守相关法律法规,且勿用于非法用途。

关注我,带你用“人话”读懂技术硬核! 🔥

原文始发于微信公众号(全栈安全):什么是HTTP慢速攻击?看不见的“温水煮青蛙”,如何瘫痪你的服务器?

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

发表评论

匿名网友 填写信息