功能先容
1、灵巧的输入:支持输入单个域名,或以文件形式输出子域名列表;
2、多协议支持:支持测试HTTP和HTTPS节点;
3、并发支持:该工具实现了多线程机制以实行更快速的扫描;
4、自定义输出:支持将输出结果保存到文件或打印到STDOUT;
5、Verbose和静默模式:默认为Verbose模式,也支持静默模式;
6、自定义用户代理:支持为要求指定自定义用户代理;
7、智能检测假阳性:能够智能检测大多数的假阳脾气况;
工具哀求Python 3.x
Pip
Requests
工具安装由于该工具基于Python 3开拓,因此我们首先须要在本地设备上安装并配置好Python 3.x环境。
接下来,广大研究职员可以直策应用下列命令将该项目源码克隆至本地:
git clone https://github.com/brinhosa/apidetector.git
然后切换到项目目录中,利用pip命令安装requests库:
cd apidetectorpip install requests
工具参数选项
-d, --domain:要测试的单个域名;-i, --input:包含要测试子域名列表的输入文件路径;-o, --output:写入有效URL的输出文件;-t, --threads:实行扫描所利用的线程数量(默认为10);-m, --mixed-mode:测试HTTP和HTTPS协议(稠浊模式)-q, --quiet:禁用Verbose输出(默认为Verbose模式);-ua, --user-agent:发送要求所利用的自定义用户代理;
风险分类高危节点
39;/swagger-ui.html', '/swagger-ui/', '/swagger-ui/index.html', '/api/swagger-ui.html', '/documentation/swagger-ui.html', '/swagger/index.html', '/api/docs', '/docs', '/api/swagger-ui', '/documentation/swagger-ui'
中高危节点
'/openapi.json', '/swagger.json', '/api/swagger.json', '/swagger.yaml', '/swagger.yml', '/api/swagger.yaml', '/api/swagger.yml', '/api.json', '/api.yaml', '/api.yml', '/documentation/swagger.json', '/documentation/swagger.yaml', '/documentation/swagger.yml'
中危节点
'/v2/api-docs', '/v3/api-docs', '/api/v2/swagger.json', '/api/v3/swagger.json', '/api/v1/documentation', '/api/v2/documentation', '/api/v3/documentation', '/api/v1/api-docs', '/api/v2/api-docs', '/api/v3/api-docs', '/swagger/v2/api-docs', '/swagger/v3/api-docs', '/swagger-ui.html/v2/api-docs', '/swagger-ui.html/v3/api-docs', '/api/swagger/v2/api-docs', '/api/swagger/v3/api-docs'
低危节点
'/swagger-resources', '/swagger-resources/configuration/ui', '/swagger-resources/configuration/security', '/api/swagger-resources', '/api.html'
工具利用
常规利用,利用30个线程+Chrome用户代理扫描子域名列表,并将结果存储到文件中:
python apidetector.py -i list_of_company_subdomains.txt -o results_file.txt -t 30 -ua "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
扫描单个子域名:
python apidetector.py -d example.com
从一个输入文件中扫描多个域名:
python apidetector.py -i input_file.txt
指定一个输出文件:
python apidetector.py -i input_file.txt -o output_file.txt
指定要利用的线程数量:
python apidetector.py -i input_file.txt -t 20
同时扫描HTTP和HTTPS协议:
python apidetector.py -m -d example.com
以静默模式运行脚本:
python apidetector.py -q -d example.com
利用一个自定义代理实行脚本:
python apidetector.py -d example.com -ua "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
容许证协议
本项目的开拓与发布遵照MIT开源容许证协议。
项目地址APIDetector:【GitHub传送门】
参考资料https://www.python.org/downloads/
本文作者:Alpha_h4ck, 转载请注明来自FreeBuf.COM