说明:该工具用于读取本地Swagger文档然后对指定站点进行安全测试,有想要新增加的功能可以联系作者,有Bug也可以联系作者。
起源:这个工具最初的目的不是针对Swagger接口泄露的黑盒的安全测试中。作者在Java代码审计过程中发现Cool Request这个开发者插件可以识别读取IDEA打开项目的接口信息并导出Open API文档。而在实际的安全测试场景中我们不清楚目标站点的真实情况,站点可能有很多接口不存在,或者说目标系统版本和我们代码审计的系统版本队不上,有接口需要增加授权Token才能访问,我们实际挖漏洞中可能需要进行Fuzz然后用黑盒的思想来筛选接口和测试漏洞,找到实际存在的接口再去白盒挖漏洞。所以就搞了这个woodpecker-swagger-fuzz插件了,为实际场景的代码审计-黑盒测试而准备。
使用:
-
将swagger-fuzz-.jar放在 {woodpecker-tools.home}/plugin 位置,然后启动 woodpecker-framework.jar 工具即可
-
在使用swagger-fuzz的漏洞插件时,右键将插件 send to Exploit 然后在利用Exploit攻击引擎进行深度攻击
-
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分析流量抓取敏感信息
自行编写功能插件代码,使用如下命令打包
mvn clean package -DskipTests