wpgarlic:一款功能强大的WordPress插件模糊测试工具

2022-06-08 14:48:47 浏览数 (1)

关于wpgarlic

wpgarlic是一款功能强大的WordPress插件模糊测试工具,该工具可以帮助广大研究人员查找WordPress插件漏洞。目前为止,该工具已经成功在大约1500万个网站上找出了140多个WordPress插件漏洞。

考虑到模糊测试工具的运行机制,即模糊测试工具具备一定的随机性,因此有的时候报告会存在假阳性,也就是误报。因此广大研究人员需要对该工具所检测到的内容进行观察和分析,不要直接将原始报告提交给厂商。

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript复制
git clone https://github.com/kazet/wpgarlic.git

工具使用样例

任意文件读取

假设我们需要对responsive-vector-maps v6.4.0版本插件进行模糊测试,直接运行下列命令即可:

代码语言:javascript复制
./bin/fuzz_plugin responsive-vector-maps --version 6.4.0

注意:如果你想要测试目标插件的最新版本,可以直接忽略“--version”参数。

模糊测试完成之后(大约需要10-30分钟),就可以使用下列命令查看模糊测试结果了:

代码语言:javascript复制
./bin/print_findings data/plugin_fuzz_results/

我们可以从上述结果中了解到,模糊测试工具检测到了fopen()的执行,并涉及到一个已知的Payload。大多数的Payload会包含GARLIC来自动检测输出,我们可以在“docker_image/magic_payloads.php”中查看或配置相关内容。

接下来,我们可以详细浏览源代码,并了解到“wp_ajax_rvm_import_markers”节点会使用文件内容来呈现输出结果,此时将允许我们读取服务器中的任意文件内容:CVE-2021-24947

反射型XSS

假设我们现在需要对page-builder-add插件的v1.4.9.4版本进行模糊测试:

代码语言:javascript复制
./bin/fuzz_plugin page-builder-add --version 1.4.9.4

打印输出结果后,我们将会看到如下所示的返回Payload:

接下来,我们可以手动测试和验证这个XSS漏洞:CVE-2021-25067

使用CheatSheet

工具的首次运行可能需要大约一个小时的时间,因为我们需要使用PHP和WordPress来构建Docker镜像。

通过名称来对插件进行模糊测试:

代码语言:javascript复制
./bin/fuzz_plugin PLUGIN_SLUG

通过文件来对插件进行模糊测试:

代码语言:javascript复制
./bin/fuzz_plugin PLUGIN_FILE_NAME.zip

打印输出结果:

代码语言:javascript复制
./bin/print_findings data/plugin_fuzz_results/

运行测试:

代码语言:javascript复制
./bin/test

格式化代码:

代码语言:javascript复制
./bin/reformat

手测测试环境

我们可以使用已安装的插件自己搭建一个测试环境:

代码语言:javascript复制
./bin/manual_testing PLUGIN_SLUG|PLUGIN_PATH.zip [version]

此时,工具将监听“https://127.0.0.1:8001/”。

现在,数据库中将包含两个测试用户:

1、用户名:admin,密码:admin,权限:管理员 2、用户名:subscriber,密码:subscriber,权限:订阅者

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

https://github.com/kazet/wpgarlic

参考资料

https://kazet.cc/2022/02/03/fuzzing-wordpress-plugins.html

https://wpscan.com/vulnerability/c6bb12b1-6961-40bd-9110-edfa9ee41a18

https://wpscan.com/vulnerability/365007f0-61ac-4e81-8a3a-3a068f2c84bc

https://wpscan.com/vulnerability/db5a0431-af4d-45b7-be4e-36b6c90a601b

https://kazet.cc/2022/02/03/fuzzing-wordpress-plugins.html#patched-equality

0 人点赞