Skip to content

B0T1eR/Woodpecker-SwaggerFuzz-Plugin

Repository files navigation

0x01 关于swagger-fuzz

说明:该工具用于读取本地Swagger文档然后对指定站点进行安全测试,有想要新增加的功能可以联系作者,有Bug也可以联系作者。

起源:这个工具最初的目的不是针对Swagger接口泄露的黑盒的安全测试中。作者在Java代码审计过程中发现Cool Request这个开发者插件可以识别读取IDEA打开项目的接口信息并导出Open API文档。而在实际的安全测试场景中我们不清楚目标站点的真实情况,站点可能有很多接口不存在,或者说目标系统版本和我们代码审计的系统版本队不上,有接口需要增加授权Token才能访问,我们实际挖漏洞中可能需要进行Fuzz然后用黑盒的思想来筛选接口和测试漏洞,找到实际存在的接口再去白盒挖漏洞。所以就搞了这个woodpecker-swagger-fuzz插件了,为实际场景的代码审计-黑盒测试而准备。

使用:

  1. 将swagger-fuzz-.jar放在 {woodpecker-tools.home}/plugin 位置,然后启动 woodpecker-framework.jar 工具即可

  2. 在使用swagger-fuzz的漏洞插件时,右键将插件 send to Exploit 然后在利用Exploit攻击引擎进行深度攻击

  3. Exploit攻击需要俩个参数:

    • SwaggerFilePath:Swagger文档在本地系统的地址。例如 C:\Users\butler\AppData\Local\Temp\swagger.json

    • HttpHeaders:在对目标站点进行Swagger测试时想添加的Http Header头。每组Header头之间用符号|来分割,使用时必须先携带 Content-Type: application/json,后面的Header头才能生效(这个问题后面有时间处理下)

      例如Content-Type: application/json|Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..

最佳的使用方式:

在IDEA中使用Cool Request导出OpenAPI文档-->swagger-fuzz对指定接口进行发包测试-->插件的流量走burp代理-->HAE分析流量抓取敏感信息

0x02 项目打包

自行编写功能插件代码,使用如下命令打包

mvn clean package -DskipTests

0x03 Reference

https://github.com/API-Security/APIKit

About

读取本地Swagger文档对指定站点进行安全测试的Woodpecker插件

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages