一款误报较少的host碰撞工具

399 阅读2分钟

原创工具,不了解host碰撞的同学可以参考

找出隐形资产--利用Hosts碰撞突破边界


项目地址 github.com/alwaystest1…

工具介绍 host碰撞可以帮助安全测试人员更好的发现隐藏资产,测试了搜到的host碰撞工具,主要问题是误报比较多,因此动手写了这个工具,本程序相对来说误报较少(速率配置合理的情况下,否则网络抖动导致请求超时会出现漏报)。使用直接ip请求+不存在的host请求提取特征,内容较少通过状态码与页面长度判断,内容较多则通过页面相似度判断。

安装 git clone github.com/alwaystest1… cd hostCollision/ go install go build hostCollision.go 使用 速度测试:家庭宽带环境,默认线程+限速,812个站点碰撞一个host耗时35s

参数说明

Usage of ./hostCollision: -df string //待碰撞的域名列表文件,每行一个,格式为xxx.xxx.com domain file path -o string //碰撞成功的保存文件路径 output file name (default "host_collision_success_202304192245.txt") -r int //速率限制 rate limit (default:30) (default 30) -t int //指定线程数 Number of threads(default:10) (default 10) -uf string //站点url,格式如https://1.1.1.1或https://1.1.1.1:8443 url file path 单独使用

$ ./hostCollision -df hosts.txt -uf urls.txt 对于url文件的生成,推荐下本人的方法:

1.首先通过各种方式收集子域名

2.通过github.com/alwaystest1… 来筛选未使用cdn的ip地址

3.通过github.com/projectdisc… 直接生成ip段

4.通过github.com/projectdisc… 对ip段进行常见web端口扫描

5.通过GitHub - projectdiscovery/httpx: httpx is a fast and multi-purpose HTTP toolkit that allows running multiple probes using the retryablehttp library. 检测存活站点,结果文件可直接用于本程序uf参数使用

本程序定位就是仅做host碰撞功能,因此强烈推荐对于已知的目标ip段使用naabu扫描端口+httpx验证存活站点后再进行host碰撞,可大大节省时间

常见问题 目前已知的误报情况有哪些 ​ 答:有些站点对同一个host的两次请求也会返回完全不同结果,如:(一次302,一次403),推测为负载配置问题