swaggerHole:针对swaggerHub的公共API安全扫描工具

关于swaggerHole

swaggerHole是一款针对swaggerHub的API安全扫描工具,该工具基于纯Python 3开发,可以帮助广大研究人员检索swaggerHub上公共API的相关敏感信息,整个任务过程均以自动化形式实现,且具备多线程特性和管道模式。

工具要求

Python 3 pip3

类Linux操作系统的安装命令如下:

代码语言:javascript
复制
sudo apt install python3
代码语言:javascript
复制
sudo apt install python3-pip

工具安装

pip安装

该项目目前已托管至PyPI,可以直接使用下列命令安装swaggerHole:

代码语言:javascript
复制
pip3 install swaggerhole

源码安装

除此之外,广大研究人员还可以直接使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制

然后切换到项目目录下,运行工具安装脚本即可:

代码语言:javascript
复制
cd swaggerHole

pip3 install .

工具使用

下图所示为swaggerHole的工具帮助和参数选项:

使用命令样例:

代码语言:javascript
复制
swaggerhole [-h] [-s SEARCH] [-o OUT] [-t THREADS] [-j] [-q] [-du] [-de]

参数解析

代码语言:javascript
复制
-h, --help:显示工具帮助信息和退出;

-s SEARCH, --search SEARCH:搜索语句;

-o OUT, --out OUT:设置输出目录;

-t THREADS, --threads THREADS:设置要使用的运行线程数量 (默认为25)

-j, --json:使用JSON格式输出;

-q, --quiet:静默模式,移除Banner;

-du, --deactivate_url:不激活URL过滤功能(会增加假阳性);

-de, --deactivate_email:不激活email过滤功能(会增加假阳性);

工具使用演示

搜索目标域名相关的API敏感信息

代码语言:javascript
复制
swaggerHole -s test.com

echo test.com | swaggerHole

搜索目标域名相关的API敏感信息(输出JSON数据)

代码语言:javascript
复制
swaggerHole -s test.com --json

echo test.com | swaggerHole --json

搜索目标域名相关的API敏感信息(速度提升)

代码语言:javascript
复制
swaggerHole -s test.com -t 100

echo test.com | swaggerHole -t 100

工具输出

常规输出

代码语言:javascript
复制
Finding_Type - Finding - [Swagger_Name][Date_Last_Update][Line:Number]

JSON输出

代码语言:javascript
复制
{"Finding_Type": Finding, "File": File_path, "Date": Date_Last_Update, "Line": Number}

许可证协议

本项目的开发与发布遵循GPL-3.0开源许可协议。

项目地址

swaggerHole:

https://github.com/Liodeus/swaggerHole

https://app.swaggerhub.com/search