Apache Server不完整HTTP请求远程拒绝服务漏洞

漏洞起因
设计错误
 
影响系统
Apache Group Apache 2.x
Apache Group Apache 1.x
 
不受影响系统
 
危害
远程攻击者可以利用漏洞对应用程序进行拒绝服务攻击。
 
攻击所需条件
攻击者必须访问Apache。
 
漏洞信息
Apache是一款流行的WEB服务程序。
Apache不正确处理不完整HTTP请求,远程攻击者可以利用漏洞对应用程序进行拒绝服务攻击。
远程攻击者可以利用普通发包客户端向Apache服务器发送不完整的HTTP请求,此时Apache服务器会打开连接并等待接受完整的头信息,但如果发包客户端不再继续发送完整请求而是发送无效头的请求,就会一直保持打开的连接。攻击者不需要发送很大的通信数量,就可以耗尽服务器上的可用连接。也就意味着低带宽的用户也可以攻击大流量的服务器。
 
测试方法
提交如下的合法的HTTP请求的初始部分:
GET / HTTP/1.1\r\n
Host: host\r\n
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)\r\n
Content-Length: 42\r\n
之后在等待一段时间后发送无效的头请求信息:
X-a: b\r\n
服务器会一直等待头的剩余部分头信息。大量此类请求可导致连接耗尽,造成拒绝服务攻击。
 
厂商解决方案
用户可参考如下临时解决方案:
更改默认的TimeOut选项,或使用mod_limitipconn等类似模块限制单个IP地址的连接数。
目前供应商没有详细解决方案提供:
http://www.apache.org/
 
漏洞提供者
Bojan Zdrnja (Bojan.Zdrnja@LSS.hr)

发表评论?

0 条评论。

发表评论