Skip to content

Apache HTTP Server畸形Range和Range-Request选项处理远程拒绝服务漏洞(CVE-2011-3192) #53

Open
@AI0TSec

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测试目标端口

image

输入ctrl+],回车

image

回车,粘贴编写好的txt请求包文件

image
image

验证结果

a
b

修复建议

1.使用SetEnvIfmod_rewrite进行大范围检测,然后忽略Range:标头或拒绝请求;
2.限制请求字段的长度为几百个字节;

可保持Range标头短小,但可能会截断其他标头:如较大的cookie或安全字段。

3.使用mod_headers完全禁止使用Range标头:RequestHeader unset Range
4.安装补丁修复该漏洞(www.apache.org)

参考链接

https://www.cnblogs.com/princessd8251/articles/3853421.html

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions