host碰撞原理
当数据包的host头替换为某个域名时在访问该反代服务器的ip, 如果nginx/Apache的反向代理的host配置没删除,就会把请求转发到内网对应的host业务服务器上, 接着返回该业务的信息, 实现本该隐藏的业务访问
简单点就是: 当数据包的host头替换为某个域名时在访问时该反代服务器的ip, 如果页面发生了变化,返回了对应的资源, 即可判断为存在host碰撞
使用了反向代理服务器,在内网存在着多个服务器,假设都向外网开放了服务,域名不同,但是解析出来的ip是相同的,就是Nginx服务器,当到达反向代理的服务器,代理服务器通过Host头的不用域名转发给内网的不同服务器主机
反向代理配置禁止使用ip进行访问,当Host为ip返回404等;为域名进行流量转发

host碰撞什么时候存在?
业务通过DNS解析到外网,后面删除了A记录(但是nginx/Apache的反向代理还没删除)
进行信息收集的时候,收集到ip的历史解析域名,原本是内网的A服务器,原本是进行开放的,它的外网ip就是反向代理的ip,这个时候我们使用域名进行访问是无法访问到的,该域名被解析成了内网ip,或是DNS的服务器删除了该域名的ip解析,网络层无法获得到ip,无法到达服务器
在反向代理上的配置没有删除
访问http://ip(找到服务器,不能使用域名进行访问了)+Host头改成域名
测试业务
技巧使用
在实战中,我们总会对一个企业进行资产收集,在这个过程中会收集到许多资产,有域名有ip
1、但有的时候打开的域名指向的是一个内网ip猜测曾经是允许外网访问,后面收到内网,不允许外网访问,修改成内网IP,当是在ngnix上没有删除配置)
猜测在目标的多个ip段的反向代理服务器都曾经有该配置未删除,开设了web服务器的ip(不一定要4xx)进行内网碰撞
(进行域名的ip等收集,由于对方的DNS服务器的配置问题,会导致域名指向的是一个内网的ip(DNS服务器上有记录下内网域名和ip的对应关系)(这个情况下,域名正常来说只能是内网才能访问))

、进行c段收集:打开的ip状态码更是直接显示400,403,404禁止我们访问==(不能通过ip访问,但是可以通过域名)
收集到的ip开放着web服务,开放着80,8080,443等端口,当是在游览器http://ip访问网站的时候,出现的是403,400
1.ip反查域名,host带上反查的域名可以正常访问
2.进行域名收集
1.内外网的域名都要
2.保存域名-hostList.txt
1.将外网域名全部ping一下获取一下ip
3..对于域名获取的ip的c段收集
1.进行c段的收集(包括子域名的c段)
2.c段上的某个ip存在web访问,使用ip访问返回4xx
3.收集c段上开放着4xx的ip--ipList.txt(任何ip都存在碰撞的可能性,但是4xx的效果比较明显)
ipList.txt(多个网段下的ip)收集到的域名进行碰撞(包括内网域名)

3、进行IP反查域名,无法通过域名访问,但是可以通过ip上开放的web服务
(碰撞的是不存在在DNS内的域名(曾经存在))
1.域名收集-ip
1.收集域名的各个ip
2.ip下的c段-ip-ipList.txt
2.针对ip段的历史域名进行收集
1.收集无法访问的域名(DNS记录被删除)-hostList.txt
3.ipList.txt+hostList.txt碰撞
4 、还有一种状态码显示200但是输入啥都没啥变化的==
同时对它们进行目录扫描,也是常常没有结果,访问http://ip/目录没有反应
那么这种情况下, HOST碰撞技术就可以尝试使用了

Comments NOTHING