如何使用hakoriginfinder绕过WAF以及识别反向代理背后的原始主机
2022-6-10 01:31:49 Author: www.freebuf.com(查看原文) 阅读量:6 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

关于hakoriginfinder

hakoriginfinder是一款功能强大的网络安全工具,在该工具的帮助下,广大研究人员可以轻松识别反向代理背后的真实原始主机。一般来说,这种技术适用于红队研究工作中针对Web应用防火墙的绕过和其他反向代理安全方面的任务。

工具运行机制

hakoriginfinder首先会向研究人员提供的主机名称发送一个HTTP请求,并存储目标主机返回的响应信息。接下来,该工具将会通过HTTP(80)和HTTPS(443)向广大研究人员提供的每一个IP地址发送请求,其中的每一个请求中Host头都被设置为了原始主机。然后,该工具会使用Levenshtein算法将每个HTTP响应与原始响应进行比较,以确定相似度。如果响应信息相似,则视为匹配。

工具下载

该工具基于Go语言开发,因此广大研究人员首先需要在本地设备上安装并配置好Go语言环境。

接下来,我们可以直接使用下列命令下载和安装hakoriginfinder:

go install github.com/hakluke/[email protected]

或者说,可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/hakluke/hakoriginfinder.git

工具使用

我们可以通过stdin向工具提供一个目标IP地址列表,并通过-h参数来设置原始主机的主机名,参考命令如下:

prips 93.184.216.0/24 | hakoriginfinder -h example.com

我们还可以通过-l参数来设置Levenshtein算法的距离阈值。设置的数值越低,则表示要求匹配度越高,该参数默认值为5。

除此之外,我们还可以通过-t参数来设置工具运行所使用的线程数量,默认为32。

使用-h参数则可以直接设置主机名称,这个参数是没有默认值的,为必填选项。

输出结果

该工具的输出结果为三列,其中以空格划分。第一列为匹配结果,可能出现的值为“MATCH”或“NOMATCH”,具体取决于分析结果是否达到了Levenshtein算法的阈值。第二列为测试的URL地址,第三列则为Levenshtein算法的评分。

下面给出的是hakoriginfinder工具执行的样例输出结果:

hakluke$ prips 1.1.1.0/24 | hakoriginfinder -h one.one.one.one

NOMATCH http://1.1.1.0 54366

NOMATCH http://1.1.1.30 54366

NOMATCH http://1.1.1.20 54366

NOMATCH http://1.1.1.4 54366

NOMATCH http://1.1.1.11 54366

NOMATCH http://1.1.1.5 54366

NOMATCH http://1.1.1.22 54366

NOMATCH http://1.1.1.13 54366

NOMATCH http://1.1.1.10 54366

NOMATCH http://1.1.1.25 54366

NOMATCH http://1.1.1.19 54366

... snipped for brevity ...

NOMATCH http://1.1.1.251 54366

NOMATCH http://1.1.1.248 54366

MATCH http://1.1.1.1 0

NOMATCH http://1.1.1.3 19567

NOMATCH http://1.1.1.2 19517

MATCH https://1.1.1.1 0

NOMATCH https://1.1.1.3 19534

NOMATCH https://1.1.1.2 19532

项目地址

hakoriginfinder:GitHub传送门


文章来源: https://www.freebuf.com/articles/network/335799.html
如有侵权请联系:admin#unsafe.sh