背景
甲方安全场景中,经常会遇到大批量测试,或者工单节点的自动提测等。AWVS作为一款经典的WEB扫描器,作为日常扫描巡检、第三方审查算得上是个不错的选择,而它本身不支持多任务提交,本文主要介绍就多任务自动提交场景进行开发自动扫描脚本。
环境准备
- 一款抓包工具(Fiddler、Burp均可)
- AWVS扫描器(11、12版本均可,生成一枚API KEY)
- Python3(2也可以,安装个requests库)
开发步骤
- 通过AWVS生成API_KEY
打开AWVS的profile,通过Web界面生成API Key
- 使用抓包工具抓取添加任务、启动扫描两步的数据包
详细抓取过程不再介绍,最终获取到提交地址与参数如下:
# 添加扫描任务
/api/v1/targets
POST
{
"address": url, "description": url, "criticality": "10"}
# 启动扫描任务
/api/v1/scans
POST
{
"target_id": target_id, "profile_id": "11111111-1111-1111-1111-111111111111", "schedule": {
"disable": False, "start_date": None, "time_sensitive": False}}
- 开发自动提交脚本
# coding=utf8
import sys
import json
import requests
requests.p