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

来源:岁月联盟 编辑:zhuzhu 时间:2009-08-30
Apache Server不完整HTTP请求远程拒绝服务漏洞 影响版本:
Apache Group Apache 2.x
Apache Group Apache 1.x漏洞描述:
Apache是一款流行的WEB服务程序。
Apache不正确处理不完整HTTP请求,远程安全者可以利用漏洞对应用程序进行拒绝服务安全。
远程安全者可以利用普通发包客户端向Apache服务器发送不完整的HTTP请求,此时Apache服务器会打开连接并等待接受完整的头信息,但如果发包客户端不再继续发送完整请求而是发送无效头的请求,就会一直保持打开的连接。安全者不需要发送很大的通信数量,就可以耗尽服务器上的可用连接。也就意味着低带宽的用户也可以安全大流量的服务器。<*参考 
Bojan Zdrnja (Bojan.Zdrnja@LSS.hr)
http://isc.sans.org/diary.html?storyid=6601
http://isc.sans.org/diary.html?storyid=6613
*>
测试方法:
[www.sebug.net]
本站提供程序(方法)可能带有安全性,仅供安全研究与教学之用,风险自负!提交如下的合法的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
服务器会一直等待头的剩余部分头信息。大量此类请求可导致连接耗尽,造成拒绝服务安全。
 SEBUG安全建议:
用户可参考如下临时解决方案:
更改默认的TimeOut选项,或使用mod_limitipconn等类似模块限制单个IP地址的连接数。
目前供应商没有详细解决方案提供:
http://www.apache.org/