hakluke/hakoriginfinder

GitHub: hakluke/hakoriginfinder

hakoriginfinder 是一款通过 Levensen 距离算法比对 HTTP 响应相似度,从而发现隐藏在反向代理或 WAF 背后的真实源主机 IP 的工具。

Stars: 1081 | Forks: 136

# hakoriginfinder 用于发现反向代理背后的源主机。对于绕过 WAF 和其他反向代理非常有用。 ## 工作原理 该工具首先会向您提供的主机名/URL 发起一个 HTTP 请求并存储响应,然后通过 HTTP(80)和 HTTPS(443)向您通过 stdin 提供的每个 IP 地址发起请求(可通过选项提供更多端口),将 `Host` 头设置为原始主机(:port)。然后使用 Levenshtein 算法将每个响应与原始响应进行比较以确定相似性。如果响应相似,则判定为匹配。 ## 使用方法 通过 stdin 提供 IP 地址列表,通过 -h 选项提供原始主机名。例如: ``` prips 93.184.216.0/24 | hakoriginfinder -h https://example.com:443/foo ``` 可以通过 `-l` 设置 Levenshtein 距离阈值。数字越小,匹配项需要越相似才会被视为匹配,默认值为 5。 线程数可通过 `-t` 设置,默认为 32。 主机名通过 `-h` 设置,无默认值。 通过 stdin 提供的 IP 地址使用的端口通过 `-p` 设置,默认为 80,443。 ## 输出 输出为 3 列,以空格分隔。第一列是 "MATCH" 或 "NOMATCH",取决于是否达到 Levenshtein 阈值。第二列是被测试的 URL,第三列是 Levenshtein 分数。 ### 输出示例 ``` $ prips 1.1.1.0/24 | hakoriginfinder -h http://one.one.one.one:80/index.html -p 80,443,8080,8443 Redirect 301 to: https://one.one.one.one/index.html Redirect 308 to: https://one.one.one.one/ NOMATCH http://1.1.1.31:443/ 56290 NOMATCH http://1.1.1.17:443/ 56290 NOMATCH http://1.1.1.4:443/ 56290 NOMATCH http://1.1.1.0:443/ 56290 NOMATCH http://1.1.1.27:443/ 56290 NOMATCH http://1.1.1.1:443/ 56290 NOMATCH http://1.1.1.11:443/ 56290 NOMATCH http://1.1.1.3:443/ 56290 NOMATCH http://1.1.1.25:443/ 56290 NOMATCH http://1.1.1.5:443/ 56290 NOMATCH http://1.1.1.24:443/ 56290 ... snipped for brevity ... NOMATCH http://1.1.1.185:8443/ 56290 NOMATCH http://1.1.1.183:8443/ 56290 MATCH https://1.1.1.1:443/ 0 ... snipped for brevity ... NOMATCH http://1.1.1.253:8443/ 56290 NOMATCH http://1.1.1.252:8443/ 56290 MATCH https://1.1.1.1:8443/ 0 ``` ## 安装 安装 golang,然后运行: ``` go install github.com/hakluke/hakoriginfinder@latest ```
标签:Host头, HTTP请求, IP 地址批量处理, Levenshtein距离算法, Linux取证, 主机枚举, 原始主机发现, 反向代理源站发现, 后渗透, 数据统计, 无线安全, 日志审计, 相似度比较, 端口扫描, 绕过CDN, 绕过WAF, 绕过云防护, 网络安全, 隐私保护