Apache HTTP Server畸形Range和Range-Request选项处理远程拒绝服务漏洞(CVE-2011-3192) #53
Open
Description
漏洞描述
Apache HTTP Server是Apache软件基金会的一个开放源代码的网页服务器,可以在大多数电脑操作系统中运行,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
此漏洞源于Apache HTTP Server在处理Range和Range-Request头选项中包含的大量重叠范围指定命令时存在的问题,攻击者可通过发送到服务器的特制HTTP请求耗尽系统资源,导致Apache失去响应,甚至造成操作系统资源耗尽。
漏洞危害
Apache HTTP Server在处理Range和Range-Request选项生成回应时存在漏洞,远程攻击者可能利用此漏洞通过发送恶意请求导致服务器失去响应,导致拒绝服务。
漏洞验证
编写请求包
No Byte Range Header.txt
GET / HTTP/1.1
Host: IP:PORT
Byte Range Header.txt
GET / HTTP/1.1
Host: IP:PORT
Range: bytes=1-1,1-2,1-3
Telnet测试目标端口
输入ctrl+]
,回车
回车,粘贴编写好的txt请求包文件
验证结果
修复建议
1.使用SetEnvIf
或mod_rewrite
进行大范围检测,然后忽略Range:
标头或拒绝请求;
2.限制请求字段的长度为几百个字节;
可保持
Range
标头短小,但可能会截断其他标头:如较大的cookie或安全字段。
3.使用mod_headers
完全禁止使用Range标头:RequestHeader unset Range
4.安装补丁修复该漏洞(www.apache.org)
参考链接
Metadata
Assignees
Labels
No labels