关于swaggerHole
swaggerHole是一款针对swaggerHub的API安全扫描工具,该工具基于纯Python 3开发,可以帮助广大研究人员检索swaggerHub上公共API的相关敏感信息,整个任务过程均以自动化形式实现,且具备多线程特性和管道模式。
工具要求
Python 3
pip3
类Linux操作系统的安装命令如下:
sudo apt install python3
sudo apt install python3-pip
工具安装
pip安装
该项目目前已托管至PyPI,可以直接使用下列命令安装swaggerHole:
pip3 install swaggerhole
源码安装
除此之外,广大研究人员还可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/Liodeus/swaggerHole.git
然后切换到项目目录下,运行工具安装脚本即可:
cd swaggerHolepip3 install .
工具使用
下图所示为swaggerHole的工具帮助和参数选项:
使用命令样例:
swaggerhole [-h] [-s SEARCH] [-o OUT] [-t THREADS] [-j] [-q] [-du] [-de]
参数解析
-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敏感信息
swaggerHole -s test.comecho test.com | swaggerHole
搜索目标域名相关的API敏感信息(输出JSON数据)
swaggerHole -s test.com --jsonecho test.com | swaggerHole --json
搜索目标域名相关的API敏感信息(速度提升)
swaggerHole -s test.com -t 100echo test.com | swaggerHole -t 100
工具输出
常规输出
Finding_Type - Finding - [Swagger_Name][Date_Last_Update][Line:Number]
JSON输出
{"Finding_Type": Finding, "File": File_path, "Date": Date_Last_Update, "Line": Number}
许可证协议
本项目的开发与发布遵循GPL-3.0开源许可协议。
项目地址
swaggerHole:【GitHub传送门】
参考资料
Build, Collaborate & Integrate APIs | SwaggerHub