AWVS-SCAN-Plus 介绍
针对 AWVS 15 版本开发的批量扫描脚本,支持 SpringShelllog4j常见 CVEBug Bounty常见高危SQL 注入XSS 等 专项漏洞的扫描,支持联动 xray、burp、w13scan 等被动批量扫描,灵活自定义扫描模板
AWVS-SCAN-Plus 功能
提示:本项目基于此 awvs15 版本开发,其他版本未测试(理论上都是支持的,自定义扫描模板需要进行单独测试)
支持 AWVS15 版本的 API 接口
- 支持 URL 批量添加扫描
- 支持批量仅扫描 apache-log4j 漏洞
- 支持对批量 url 添加
cooKie
凭证进行爬虫扫描 - 支持对批量 url 添加 1 个或多个不同请求头
- 支持配置上级代理地址,能结合被动扫描器进行配置扫描,如:
xray
,w13scan
,burp
等扫描器 - 支持一键清空所有任务
- 通过配置
config.ini
文件,支持自定义各种扫描参数,如:爬虫速度,排除路径(不扫描的目录),全局cookie
,限制为仅包含地址和子目录 - 支持对扫描器内已有目标进行批量扫描,支持自定义扫描类型
基础配置:
- 安装基础环境:
pip install -r requirements.txt
- 配置 config_default.ini 文件里的配置,比如:awvs 的 url、apikey、企业微信机器人 webhook 等,修改完后,将 config_default.ini 文件名改为 config.ini
提示:config.ini 请使用编辑器更改,记事本会改会原有格式
使用方式一:交互式命令行
使用场景:
用于手动交互式进行 AWVS 扫描
使用方式:
python awvs_scan.py
********************************************************************
AWVS-SCAN-Plus 批量添加,批量扫描,支持awvs15批量联动被动扫描器等功能
作者微信:BigYoung
Blog: https://sec.bigyoung.cn
********************************************************************
1 【批量添加url到AWVS扫描器扫描】
2 【删除扫描器内所有目标与扫描任务】
3 【删除所有扫描任务(不删除目标)】
4 【对扫描器中已有目标,进行扫描】
5 【高危漏洞消息推送】 企业微信机器人
6 【删除已扫描完成的目标】
请输入数字:1
1 【开始 完全扫描】
2 【开始 扫描高风险漏洞】
3 【开始 扫描XSS漏洞】
4 【开始 扫描SQL注入漏洞】
5 【开始 弱口令检测】
6 【开始 Crawl Only,,建议config.ini配置好上级代理地址,联动被动扫描器】
7 【开始 扫描意软件扫描】
8 【仅添加 目标到扫描器,不做任何扫描】
9 【仅扫描apache-log4j】(请需先确保当前版本已支持log4j扫描,awvs 14.6.211220100及以上)
10 【开始扫描Bug Bounty高频漏洞】
11 【扫描已知漏洞】(常见CVE,POC等)
12 【自定义模板】
请输入数字:?
使用方式二:命令行参数
用于自动化处理场景,通过命令直接调用,无需交互式操作
使用方式:
代码语言:javascript复制Usage: awvs_cli.py [options]
Options:
-h, --help show this help message and exit
-t TARGET, --target=TARGET
Please Enter the AWVS Target, eg: https://test.com
-f FILE, --file=FILE Please Enter the url.txt filepath, eg: ./urls.txt
-m MOD, --mod=MOD Please Enter Your AWVS Scan mod, eg:
查看config.ini配置文件[awvs_mod]配置,有注释说明
-s SWITCH, --switch=SWITCH
是否开启扫描,eg:1:开启扫描,0:不开启扫描, 默认是1
-l LABEL, --label=LABEL
添加扫描任务的目标描述
使用示例:
添加一个目标:
python3 awvs_cli.py -t https://baidu.com -m 1 -l test
批量添加目标:
python3 awvs_cli.py -f ./url.txt -m 1 -l test
[awvs_mod]参数特别说明
1-11 参数两种使用模式都可以直接使用。
12 这个参数,在交互式命令的使用场景下,会要求你手动输入已经在 AWVS 里定义好的模板 profile_id。如果通过方式二使用时,12 这个参数是无效的,如果需要使用自定义 profile_id,使用方式是-m 11111-1111-222-333
,直接输入 profile_id 即可。
此工具使用的 AWVS 版本:
代码语言:javascript复制# 本项目基于此awvs版本开发,其他版本未测试(理论上都是支持的,自定义扫描模板需要进行测试)
docker pull xrsec/awvs:v15
bash <(curl -sLk https://www.fahai.org/aDisk/Awvs/check.sh) xrsec/awvs:v15
访问地址:https://127.0.0.1:3443/#/login
账户:awvs@awvs.lan
密码:Awvs@awvs.lan
版本更新记录
V1.0.0 @2023-11-28
提示:此版本基于awvs14-scan开发,感谢原作者的开源分享
- 重构代码结构、优化代码逻辑
V1.1.0 @2023-11-30
- 增加命令行参数形式,运行脚本,方便脚本自动化调用
TODO
- 【已完成】增加命令行参数形式,运行脚本,方便脚本自动化调用
- [ ] 增加导出报告功能
- [ ] 漏洞通知增加多渠道:飞书、钉钉
- [ ] 增加漏洞信息推送到 webhook 接口,方便漏洞自动化录入漏洞管理平台