1 hosts碰撞
很多時候訪問目標資產IP響應多為:401、403、404、500,但是用域名請求卻能返回正常的業務系統(禁止IP直接訪問),因為這大多數都是需要綁定host才能正常請求訪問的 (目前互聯網公司基本的做法)(域名刪除了A記錄,但是反代的配置未更新),那么我們就可以通過收集到的目標的 域名 和 目標資產 的IP段組合起來,以 IP段+域名 的形式進行捆綁碰撞,就能發現很多有意思的東西。
原理:帶host的請求直接到反代服務器的ip,反代服務器上面的對應host配置如果還在,就會把請求轉發到后面即內網中的對應host業務服務器上,導致網站的域名刪除了A記錄的情況下也能訪問/直接訪問內網業務系統
2 腳本
https://github.com/fofapro/Hosts_scan
3 腳本原理
在發送http請求的時候,對域名和IP列表進行配對,然后遍歷發送請求 (就相當於修改了本地的hosts文件一樣),並把相應的title和響應包大小拿回 來做對比,即可快速發現一些隱蔽的資產。
4 實踐
進行hosts碰撞需要目標的域名和目標的相關IP作為字典
域名就不說了
相關IP來源有:
- 目標域名歷史解析IP
https://site.ip138.com/
https://ipchaxun.com/ - 頁面/js源碼爬取IP
oneforall貌似實現了
長亭的rad以burp為代理爬,保存返回包,再正則提取出IP - 暴露真實ip的邊緣業務
這類業務所在的ip段 - src直接給了
比如補天專屬的運營商
4.1 提取域名歷史解析IP
以ipchaxun為例,需要linux的grep awk等工具
https://ipchaxun.com/www.test.com/
intruder枚舉
保存所有響應包到一個文件夾內
一行命令提取IP並排序去重:
cat ./* |grep -E '^<a href="/'|grep -vE 'ipchaxun.com</a>$|"></a>$'|awk -F '/' '{print$2}'|sort|uniq