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