- 工具仅可用作学习,以及经过授权的渗透测试,否则后果自负。
- 内置常见高频未授权访问路径字典
- 自动从前端js文件中提取泄露的接口进行测试
- 采用selenium框架实现对“#”传参网址的测试
- 安装依赖库
pip install -r requirements.txt
下载地址:https://registry.npmmirror.com/binary.html?path=chromedriver/
-
简单使用
-
❌使用姿势-->直接传入域名
-
✔使用姿势-->将需要测试的网址先用浏览器访问一遍,再复制地址传入
cd Unauthorized
python Unauthorized.py -u http://example.com
-
扩展使用
-
自定义常见未授权路径字典
将需要添加的路径按格式添加到dict目录下的dict.txt即可
参数解释:
"info":提示信息。
"method":请求方法。
"url":测试未授权访问的路径。
"state":响应码,作为判断未授权的条件之一。
"re":正则匹配关键字,作为判断未授权的条件之一。
- 不匹配某些js、path
将需要去除的js关键字加入到key目录下的JsKey.txt即可
将需要去除的path关键字加入到key目录下的PathKey.txt即可
- 设置超时时间(-t,默认为0.5秒)
cd Unauthorized
python Unauthorized.py -u http://example.com -t 3
# 该参数会影响到检测结果,请根据网页打开速度的快慢适当调节
# 当网址打开较慢时可将超时间调大,确保网址正常打开
- 设置线程数量(-T,默认为50线程)
cd Unauthorized
python Unauthorized.py -u http://example.com -T 100
- 只检测字典内路径(-c,程序会爬取path依次与字典内url拼接)
cd Unauthorized
python Unauthorized.py -u http://example.com -c
- 对单个js内泄露的path检测(-d,程序会将path与参数值拼接)
cd Unauthorized
# 网站为 http://example.com 普通格式
python Unauthorized.py -u http://example.com/js/test.js -d http://example.com
# 网站为 http://example.com/#/login #号格式
python Unauthorized.py -u http://example.com/js/test.js -d http://example.com/#
# 网站为 http://example.com/web/ 目录格式
python Unauthorized.py -u http://example.com/js/test.js -d http://example.com/web
v20230825
- 优化了输出结果。
- 新增只对字典内路径进行拼接测试。
v20230325
- 优化了path匹配正则。
- 新增对单个js文件内的path未授权测试。
v20230319
- 修复一些问题,增加进度条可视化。
v20230315
- 增加自定义超时时间、线程数量功能。
- 增加自定义关键字功能,程序将不匹配含关键字的js、path。
v20230308
- 优化js提取,解决js重复提取问题。
- 去除自定义字典功能,新增自动输出html报告功能。
- 默认字典来自以下优秀项目:
- RouteVulScan (https://github.com/F6JO/RouteVulScan)