nginx | nginx配置未清理导致host碰撞

admin 2023年10月23日22:54:45评论383 views字数 1558阅读5分11秒阅读模式

前言

本章来聊聊host碰撞出现的原因。


环境搭建

依然使用的是kali自带的nginx,配置办法参考上一期。

nginx反向代理及钓鱼应用


nginx反向代理

将之前反向代理的ip更改为域名

从前面那期的nginx反向代理的中的反向代理https://www.baidu.com举例。

我们将server_name从ip替换为自己的域名,域名不一定要存在

nginx | nginx配置未清理导致host碰撞

test.conf 配置文件如下

server {    listen 9997 ssl default_server;    listen [::]:9997 ssl default_server;    #ssl on;    ssl_certificate /usr/local/ssl/nginx.crt;    ssl_certificate_key /usr/local/ssl/nginx.key;    server_name _;    return 400;}

server { listen 9997 ssl; server_name test.cc.com; ssl_certificate /usr/local/ssl/nginx.crt; #证书公钥 ssl_certificate_key /usr/local/ssl/nginx.key; #证书私钥 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!3DES:!aNULL:!eNULL; ssl_prefer_server_ciphers on; proxy_ssl_server_name on; # 下面这段location配置是关键 location / { sub_filter www.baidu.com test.cc.com; sub_filter_once off; proxy_ssl_session_reuse off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Referer https://www.baidu.com; proxy_set_header Host www.baidu.com; proxy_pass https://www.baidu.com; proxy_set_header Accept-Encoding ""; }}

nginx | nginx配置未清理导致host碰撞

看到直接访问9997端口返回400;

ping test.cc.com显示域名不存在

nginx | nginx配置未清理导致host碰撞

burpsuite抓取数据包,修改host的ip为域名

nginx | nginx配置未清理导致host碰撞

可以看到,成功访问到了反向代理的https://www.baidu.com

小结

以上就是host碰撞出现的原因。

运维人员将DNS域名解析IP取消,但没有及时清理nginx的配置文件,导致攻击者可以通过修改HOST值的方式进行碰撞。

在实战当中,我们可以先收集存在的域名和子域名,批量查询他们对应的ip,排除掉cdn后,将ip放在一个字典中。找到真实ip后,也可以尝试跑c段。

nginx中可能存在的子域名配置,fofa和hunter中的曾经存在但现在访问不到的子域名,或者子域名字典,或者在存在的子域名前缀加上"test"或"-test"等参数。

一个ip字典,一个域名字典,通过host碰撞工具查找。

我常用的碰撞工具:https://github.com/pmiaowu/HostCollision



修复方式

将nginx配置文件中的相关域名配置删除,然后nginx重新加载配置文件即可。







原文始发于微信公众号(进击的HACK):nginx | nginx配置未清理导致host碰撞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月23日22:54:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   nginx | nginx配置未清理导致host碰撞http://cn-sec.com/archives/2137975.html

发表评论

匿名网友 填写信息