仅需10秒!从批量爆破请求中提取关键数据,安全能力基座功能强化ing
2022-11-11 17:33:4 Author: Yak Project(查看原文) 阅读量:15 收藏

在 Fuzztag 被大家接受并广泛使用之后,一个老需求变得急迫了起来。

安全基础设施:用Fuzztag优雅地生成与变形任何Payload

从 Web Fuzzer 刚投入使用 Fuzztag 还在内测时候,这类需求一直在 Todo List 中,随着 Fuzztag 重构以及正式的文档推出,数据提取与下载的需求变得愈发急迫。

“即使 fuzztag 能批量发包,处理数据仍然需要用户手动下载所有数据,并编写脚本”,当然这肯定是我们不希望看到的。

提取数据的功能其实非常实际,我们通过{{int(1-1000|4)}}可以遍历得到一定量的数据,可能是遍历用户,也可能是遍历订单号以获取特定数据。

通常情况下,我们要提取的数据存在于响应信息中的某些位置,这些位置在每个网站中都不一样,但是这些数据往往是我们的 “工作成果”。

当我们要确认漏洞影响时,一般需要编写脚本、提取数据。但是如果能实现一种非常方便地提取数据的规则生成,将会很快解决这个问题。

01

30秒学会提取爆破数据

02

提取数据详细步骤分解

生成前缀、后缀正则表达式以提取数据

如果要精确提取一个位置,我们可能并不能确定生成的内容是否在 html 里,所以 xpath 这类的技术其实并不能适应这种情况。

但是在大多数时候,我们选中数据的前缀后缀往往是“唯一”的。

所以要提取所有爆破数据中的 “选中数据”,简单地使用鼠标在编辑器中选中这部分数据即可。

Yakit 根据选中数据前后位置,提取出前后缀正则,根据前后缀正则在每一个类似请求中把数据提取出来。

也可以根据选中内容提取正则表达式

类似的方式,我们直接选中想要的数据之后,再点击【单正则提取】,就可以仅生成选中数据转化的正则:

提取数据:一键提取到右边文本框中

在点击右上角的提取数据后,可以在右边文本框中看到详细的提取内容,此时可以 【下载文件】 直接把提取到的数据作为txt 文本信息保存在本机,实现快速提取数据。

03

Q&A:如何生成正则?

通过选中位置计算出前后的数据,如果数据中包含与正则冲突的特殊字符,进行编码,使用regexp.Quote 函数 + 泛化规则进行特殊字符编码。

  1. 我们把 ( 编码为 \( 避免和正则中的分组冲突;

  2. 我们把. 编码为 \.避免全匹配符冲突;

  3. 我们把  { 编码为  \{ 避免正则中的重复标记冲突;

  4. ...

  5. 除此之外,我们也会对捕获的多个数字组成的正则进行特殊化处理:例如日期 2022-10-31 被捕获后会变成 \d{4}-\d{2}-\d{2}

  6. 换行一般会分为两种  \r\n(CRLF)和  \n (LF)我们通过,修改并放宽正则规则为 \r?\n? 以达到最大兼容性规则,可以实现换行友好多行内容提取与适配。

当我们实现上述编码后,可以快速提取合适的正则进行数据提取与下载。

往期推荐

新功能:史上最好用的反连&JavaHack,安全能力基座强化ing

插件分析|Yaklang SQL Injection 检测启发式算法

只需几步,轻松实现即时分享,探索渗透协作新模式!


文章来源: http://mp.weixin.qq.com/s?__biz=Mzk0MTM4NzIxMQ==&mid=2247491573&idx=1&sn=05e35f1d6e3dca9c34f5ac18e2db62c4&chksm=c2d26351f5a5ea4712b886280490106316e7be72660039f7f344839edea63841753aae5db542#rd
如有侵权请联系:admin#unsafe.sh