Apache HTTP Server拒绝服务漏洞

CNNVD编号:CNNVD-201108-440
CVE编号: CVE-2011-3192

漏洞
Apache HTTP Server是一款开源的流行的HTTPD服务程序。
当处理包含大量Ranges头的HTTP请求时,ByteRange过滤器存在一个错误,攻击者可以向服务器发送特制HTTP请求,消耗大量内存,造成应用程序崩溃。
apache 2.2.17 有一个可远程利用的 dos 漏洞,它允许消耗目标系统上的所有内存。触发内存消耗的请求包括一个大的“范围”标头,该标头从 httpd 服务的文件中请求尽可能多的不同字节。将其与 gzip“Accept-Encoding”标头相结合,假设 httpd 会压缩 Range 标头中请求的每个字节,从而分别消耗大量内存区域。压缩流时的行为是毁灭性的,最终可能导致在并行发送请求时底层操作系统不可用。症状是交换到磁盘并杀死进程,包括但不只是 httpd 进程
影响版本: Apache 低于2.2.19的2.2.x版本

解决

第一个缓解选项是配置更改

RequestHeader 未设置范围

除了从请求标头中删除“Range”之外,删除“If-Range”可能也很有用,并且回复“Accept-Ranges:none”也可能是礼貌的。这可以通过以下方式完成:

从请求头中删除“Range”和“If-Range”
RequestHeader 未设置范围
RequestHeader 未设置 If-Range
从响应头中删除所有“Accept-Ranges”
标头未设置接受范围
#将“Accept-Ranges: none”设置为响应头
标头集 Accept-Ranges none

(我不确定“标题未设置接受范围”是否是必要的。)

根据 HTTP 1.1 规范 RFC 2616:

*“不接受任何类型的资源范围请求的服务器可以发送‘Accept-Ranges: none’”(第 14.5 节);和
*“服务器可以忽略 Range 标头”(第 14.35.2 节)。

利用的payload
https://bz.apache.org/bugzilla/show_bug.cgi?id=51714

第二个方案是升级

升级到2.2.20及以上版本
Linux/Unix解决方案:屏蔽软件版本信息,并升级服务器到最新版本。
Windows解决方案:屏蔽软件版本信息,并升级服务器到最新版本。

备注:

扫描器一般通过Web服务器的banner推测您的服务器存在该漏洞,如果您手工修改过服务器的banner,可能会导致误报。

复现

可以用awvs扫描出来
https://blog.csdn.net/xiaofengdada/article/details/123015700

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值