host碰撞漏洞

一、host碰撞原理环境搭建

在虚拟机下搭建Nginx环境配置(192.168.202.128)

1. 设置一个server为ip访问时返回400

2. 设置一个sever为访问某个域名时重定向到内网的某个服务

server {
    listen    81 default_server;
    server_name _;
    return 400;
}
server {
    listen 81;
    server_name www.test_fyn.com;
        
    location / {
        proxy_pass http://192.168.3.153:5000;
        proxy_redirect off;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        root html;
        index index.html index.html;
    }
     access_log  logs/test.com.log;
}

然后重启一下Nginx服务

./nginx -s reload

然后再物理机搭建一个flask的服务器192.168.3.153:5000,然后使用虚拟机的IP地址192.168.202.128来模拟公网ip

2. 漏洞复现

访问192.168.202.128:81返回状态码为400

host碰撞漏洞

使用域名www.test_fyn.com访问,也是显示无法访问 

host碰撞漏洞

但是可以ping通

host碰撞漏洞

使用Burp抓包替换

host碰撞漏洞

把host替换为www.test_fyn.com域名,访问成功,并返回200

 host碰撞漏洞

以上就是host漏洞环境的原理的环境搭建过程

环境搭建参考火线平台的文章:host碰撞-搭建环境复现_火线安全的博客-CSDN博客_host碰撞 

 

上一篇:第十三章、Spring动态代理详解


下一篇:C程序设计语言(第二版):练习1-17