功能先容

1、灵巧的输入:支持输入单个域名,或以文件形式输出子域名列表;

2、多协议支持:支持测试HTTP和HTTPS节点;

3、并发支持:该工具实现了多线程机制以实行更快速的扫描;

php域名暴露文件若何应用APIDetector高效辨认目的域名裸露的Swagger节点 GraphQL

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:发送要求所利用的自定义用户代理;风险分类高危节点

'/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