Hosts碰撞
很多时候访问目标资产响应多为: 401、403、404、500,但是用域名请求却能返回正常的业务系统,因为这大多数 都是需要绑定host才能正常请求访问的 (目前互联网公司基本的做法),那么我 们就可以通过收集到的目标的内网域名和 目标资产的IP段组合起来,以IP段+域名的 形式进行捆绑碰撞,就能发现很多有意思 的东西。这一操作可以通过脚本自动化来 访问:
https://github.com/r35tart/Hosts_scan
脚本原理
在发送http请求的时候,对域名和IP列表进行配对,然后遍历发送请求 (就相当于修改了本地的hosts文件一样),并把相应的title和响应包大小拿回 来做对比,即可快速发现一些隐蔽的资产
漏洞原理
如果管理员在配置apache或nginx的时候 禁止了IP访问,那么我们直接访问IP将会 回显403页面
这时候访问网站则需要使用Apache的 httpd.conf配置中的ServerName里指定 的值才能够正常访问
如果管理员在配置的时候ServerName域名写的是内网域名怎么办? (公网DNS服务器无法解析内部自定义域名)
大概了解一下DNS解析过程
1.在浏览器内部中查看是否有缓存
2.在本机hosts文件中查看是否有映射关系
3.本地DNS缓存(ipconfig /displaydns )
4.本地DNS服务器 5.跟域服务器
当用户在浏览器中输入一个需要访问的网 址时,浏览器会查看自身是否有缓存,没 有系统则会检查自己的Hosts文件中是否 有这个域名和IP的映射关系。如果有,则 直接访问这个IP地址指定的网络位置,如 果没有,再向的DNS服务器提出域名解析请 求。也就是说Hosts的IP解析优先级比 DNS要高。
那么我们只需要知道目标的IP和域名即可通过修改本机Hosts访问到目标系统