最近开始推动公司的安全工作,发现公司使用的nginx版本直接暴露给外网,我建议让运维人员伪装或者隐藏服务器版本,遭到拒绝,无奈之下只好提供一份暴露版本号会存在问题的实例。
找了几个版本的漏洞,最新的是1.3.9-1.4.0版本的,对于一个畸形的HTTP请求没有正常处理,导致连接保持,最终资源耗尽而不能再对外提供服务,最初我以为我的VM能支持1000+的请求,结果不到200就挂了
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiZpdmLkJXY3t2dh9CX0xWdhZWZk9CX09Wbl9lcvRXakVGa49CXy9GdpRWZoh3LcRXZu5ibkN3Yuc2bsJmLjlGdhR3cvw1LcpDc0RHaiojIsJye.gif)
,
测试环境:
CPU: Pentium(R) Dual-Core CPU E5800 @ 3.20GHz
内存:1G
操作系统:RHEL6.4
Nginx版本:1.4.0
下面是截图:
【如果不存在这个漏洞,则返回的是(411, 'Length Required')】
我自己的虚拟机中只接受了172个连接就关闭了,再通过浏览器已经无法访问:
我把测试用到的python文件和linux版本的nginx1.4.0源码放到我的资源里,供有兴趣的网友验证使用。