AWVS13批量脚本
你可以在以下渠道联系到我,转载请注明文章来源地址~
- 知乎:Sp4rkW
- GITHUB:Sp4rkW
- B站:一只技术君
- 博客:https://sp4rkw.blog.csdn.net/
- 联系邮箱:getf_own@163.com
文章目录
- 前言
- 核心接口
- 仪表盘接口
- 新增任务接口
- 设置扫描速度
- 启动扫描任务
- 丝滑脚本
前言
最近在改reaper的awvs互动功能,因为自己的服务器垃圾,一次最多扫四个站,否则就卡死了。所以需要对现有的批量脚本进行修改处理。逻辑比较简单:
- 拿到web资产,django异步启扫描任务
- 从list中取出前四个,丢入awvs,选择slow模式慢慢扫
- 一分钟判断一次目前正在扫描的任务数量,不满4个自动新增补全到4个任务
- 知道列表为空
django部分代码略去,awvs的部分代码我提取出来了,供大家使用
核心接口
仪表盘接口
/api/v1/me/stats
参数 | 说明 |
---|---|
most_vulnerable_targets | 最脆弱的目标 |
scans_conducted_count | 总进行扫描个数 |
scans_running_count | 正在扫描的个数 |
scans_waiting_count | 等待扫描的个数 |
targets_count | 总进行扫描个数 |
top_vulnerabilities | 排名靠前漏洞分布 |
vuln_count_by_criticality | 通过危险程度进行漏洞等级个数分布 |
vuln_count | 漏洞数据 |
vuln_count_by_criticality | 通过危险程度进行漏洞等级个数分布 |
top_vulnerabilities | 排名靠前漏洞分布 |
vulnerabilities_open_count | 共发现漏洞总数 |
#核心代码如下
api_running_url = 'https://x/api/v1/me/stats'
headers = {'X-Auth': 'x','Content-type': 'application/json'
}
r = requests.get(url=api_running_url, headers=headers, verify=False).json()
print(r['scans_running_count']) # 正在扫描的个数# 返回数据如下:
{'most_vulnerable_targets': [], 'scans_conducted_count': 0, 'scans_running_count': 0, 'scans_waiting_count': 0, 'targets_count': 0, 'top_vulnerabilities': [], 'vuln_count': {'high': None, 'low': None, 'med': None}, 'vuln_count_by_criticality': {'critical': None, 'high': None, 'low': None, 'normal': None}, 'vulnerabilities_open_count': 0}
新增任务接口
Method:POST
URL: /api/v1/targets
发送参数 | 类型 | 说明 |
---|---|---|
address | string | 目标网址:需http或https开头 |
criticality | Int | 危险程度;范围:[30,20,10,0];默认为10 |
description | string | 备注 |
# 发送代码如下
api_add_url = "https://x/api/v1/targets"
headers = {'X-Auth': 'x','Content-type': 'application/json'
}data = '{"address":"http://vulnweb.com/","description":"create_by_reaper","criticality":"10"}'r = requests.post(url=api_add_url, headers=headers, data=data,verify=False).json()
print(r)
返回参数 | 说明 |
---|---|
address | 目标网址 |
criticality | 危险程度 |
description | 备注 |
type | 类型 |
domain | 域名 |
target_id | 目标id |
target_type | 目标类型 |
canonical_address | 根域名 |
canonical_address_hash | 根域名hash |
# 返回包如下{'address': 'http://vulnweb.com/', 'criticality': 10, 'description': 'create_by_reaper', 'type': 'default', 'domain': 'vulnweb.com', 'target_id': '13564b22-7fd8-46d5-b10f-3c87a6cc6afa', 'target_type': None, 'canonical_address': 'vulnweb.com', 'canonical_address_hash': '823a9c89d4aea02ab8a4f5d31fd603c7'}
设置扫描速度
Method:PATCH
URL: /api/v1/targets/{target_id}/configuration
参数 | 类型 | 说明 |
---|---|---|
scan_speed | string | 由慢到快:sequential slow moderate fast |
# 核心代码
api_speed_url = "https://x/api/v1/targets/{}/configuration".format(target_id)
data = json.dumps({"scan_speed":"sequential"})r = requests.patch(url=api_speed_url, headers=headers, data=data, verify=False)print(r)# 返回
<Response [204]> #代表成功
启动扫描任务
Method:POST
URL: /api/v1/scans
参数 | 类型 | 说明 |
---|---|---|
profile_id | string | 扫描类型 |
ui_session_i | string | 可不传 |
schedule | json | 扫描时间设置(默认即时) |
report_template_id | string | 扫描报告类型(可不传) |
target_id | string | 目标id |
扫描类型 | 值 | 国光翻译的理解 |
---|---|---|
Full Scan | 11111111-1111-1111-1111-111111111111 | 完全扫描 |
High Risk Vulnerabilities | 11111111-1111-1111-1111-111111111112 | 高风险漏洞 |
Cross-site Scripting Vulnerabilities | 11111111-1111-1111-1111-111111111116 | XSS漏洞 |
SQL Injection Vulnerabilities | 11111111-1111-1111-1111-111111111113 | SQL注入漏洞 |
Weak Passwords | 11111111-1111-1111-1111-111111111115 | 弱口令检测 |
Crawl Only | 11111111-1111-1111-1111-111111111117 | Crawl Only |
Malware Scan | 11111111-1111-1111-1111-111111111120 | 恶意软件扫描 |
# 核心代码
data = '{"profile_id":"11111111-1111-1111-1111-111111111111","schedule":{"disable":false,"start_date":null,"time_sensitive":false},"target_id":"%s"}'% target_idr = requests.post(url=api_run_url, headers=headers, data=data, verify=False).json()
print(r)# 返回包
{'profile_id': '11111111-1111-1111-1111-111111111111', 'schedule': {'disable': False, 'start_date': None, 'time_sensitive': False, 'triggerable': False}, 'target_id': '13564b22-7fd8-46d5-b10f-3c87a6cc6afa', 'incremental': False, 'max_scan_time': 0, 'ui_session_id': None}
丝滑脚本
import requests
import json
import time
from requests.packages.urllib3.exceptions import InsecureRequestWarningrequests.packages.urllib3.disable_warnings(InsecureRequestWarning)# 请自行对接子域名列表,格式demo见mainawvs_token = 'xxx'
website = ""def awvs_reaper(domainlist):# 接受域名list类型headers = {'X-Auth': awvs_token,'Content-type': 'application/json;charset=utf8'}api_running_url = website+'/api/v1/me/stats'api_add_url = website+"/api/v1/targets"api_run_url = website+"/api/v1/scans"# 先把所有任务添加上并调整速度target_list = []for target in domainlist:data = '{"address":"%s","description":"create_by_reaper","criticality":"10"}'% targetr = requests.post(url=api_add_url, headers=headers, data=data, verify=False).json()target_id = r['target_id']api_speed_url = website+"/api/v1/targets/{}/configuration".format(target_id)data = json.dumps({"scan_speed":"fast"})# slow最慢,一般建议fastr = requests.patch(url=api_speed_url, headers=headers, data=data, verify=False)target_list.append(target_id)target_num = len(target_list)if target_num <= 4:for target_id in target_list:data = '{"profile_id":"11111111-1111-1111-1111-111111111111","schedule":{"disable":false,"start_date":null,"time_sensitive":false},"target_id":"%s"}'% target_idr = requests.post(url=api_run_url, headers=headers, data=data, verify=False).json()else:r = requests.get(url=api_running_url, headers=headers, verify=False).json()runnum = int(r['scans_running_count']) # 正在扫描的个数flag = 0 # 做数组标志位while flag < target_num:if runnum < 4:target_id = target_list[flag]flag = flag + 1data = '{"profile_id":"11111111-1111-1111-1111-111111111111","schedule":{"disable":false,"start_date":null,"time_sensitive":false},"target_id":"%s"}'% target_idr = requests.post(url=api_run_url, headers=headers, data=data, verify=False).json()r = requests.get(url=api_running_url, headers=headers, verify=False).json()runnum = int(r['scans_running_count']) # 正在扫描的个数else:passtime.sleep(60)return target_numif __name__ == "__main__":domainlist = ['http://10086.1.com', 'http://10087.1.com', 'http://10088.1.com']#必须带http或者httpsawvs_reaper(domainlist)# linux服务器配合screen持久化运行#注意,无授权请勿扫描,后果自负
AWVS13批量脚本相关推荐
- plsql command window 执行批量脚本
commandwindow 是执行批量脚本的,也可以单个执行一条语句,但它的输出结果不如sqlwindow,而sqlwindow执行的是一个语句,输出结果是规范的表格 比如,现在有100条插入语句,你 ...
- 通过批处理调用SQL*Plus执行批量脚本
文章目录 在批处理文件中调用SQL*Plus命令执行批量脚本的场景 Windows命令终端连接数据库 方式1:登录进入SQL命令行 方式2:先进入SQL命令行,再登录 方式3: 使用用户名/密码连接指 ...
- awd的批量脚本 pwn_北极星杯AWD-Writeup
前言 祝祖国70周年生日快乐,也祝星盟一周年生日快乐.感谢各位师傅在国庆假期抽出时间参加这次比赛,也感谢负责组织比赛的师傅忙前忙后. 我是M09ic,负责本次北极星杯AWD的赛后分享.靠着抱大腿以及足 ...
- awd的批量脚本 pwn_AWD攻防之web入门篇
前言 AWD(Attack With Defense,攻防兼备)模式是一个非常有意思的模式,你需要在一场比赛里要扮演攻击方和防守方,攻者得分,失守者会被扣分.也就是说,攻击别人的靶机可以获取 Flag ...
- HBase shell执行批量脚本
场景描述: HBase namespace中有大量无用的小表,占用了过多的block,需要批量删除,了解了一下有两种方式: 1.使用通配符 用drop命令可以删除表.在删除一个表之前必须先将其禁用. ...
- 测站数据批量脚本下载
项目场景: 目录 项目场景: 问题描述: 原因分析: 解决方案: 武汉大学IGS数据中心网页显示"服务器错误"无法下载数据.http://www.igs.gnsswhu.cn/in ...
- awd的批量脚本 pwn_CTF线下赛AWD套路小结
CTF线下赛AWD套路小结 本文已在先知社区发表,欢迎访问,链接h 最近打了2场CTF线下赛,把AWD模式中的一些小套路做一些总结,本人web狗,二进制部分就不班门弄斧了. 一.AWD模式简介 AWD ...
- ffmpeg mac 批量脚本_使用批处理脚本(BAT)调用FFMPEG批量编码视频
使用批处理脚本(BAT)编码视频非常方便,尤其当视频序列非常多的时候,更是省了不少简单重复性劳动. 只要学会批处理里面几个基本的命令就行了,感觉和c/c++差不多. set:设置变量(注意:变量一般情 ...
- awd的批量脚本 pwn_北极星杯 awd复现
北极星杯 awd复现 服务器共有3个web和一个pwn web1 1,down下web1的源码,使用D盾扫描: 2,漏洞1:发现三个冰蝎的木马,和一个一句话木马 冰蝎的后门需要使用冰蝎的客户端进行连接 ...
- 解决matlab打开批量脚本文件[中文乱码]问题
问题: 在电脑A中matlab创建的脚本程序,拷贝后去电脑B上matlab软件打开,发现脚本文件中的中文注释是乱码的. 原因: 打开同一文件的matlab软件版本不一,matlab编码方式不同,在A上 ...
最新文章
- Linux服务器上监控网络带宽的18个常用命令
- SCRIPT1028:缺少标识符、字符串或数字 jquery ajax
- Spring注解创建Bean的几种方式
- 数据库记录的添加、修改、删除(DataAdapter、DataTable 、DataRow )
- kubernetes1.8.4安装指南 -- 3. 安装docker ce
- linux mysql帮助文档,在 Linux 上安装 MySQL
- c 语言运算符号大全,c语言运算符号详细说明
- 一个简单的任务处理队列
- C# 实现阴历阳历互转
- 2019年10月中国编程语言排行榜
- 万物皆可傅里叶|傅里叶分析之掐死教程(完整版)
- 毕设-SpringBoot学生请假系统
- Windows7旗舰版SP1_32位2018.10(装机版)
- OpenCV常用函数极简简介
- 【Internet Explorer】IE11卸载不干净导致无法安装IE10
- revit相关报错合集
- netstat -i和-s
- 输入相应的数打印三角形
- C# 对JS解析AJX请求JSON并绑定到html页面的一些心得
- ES修改默认的密码信息
热门文章
- fatal: unable to access 'https://github.com:***' 或者本机ping不通github.com解决方法
- 2 --> PCIE 协议栈的框架详解
- 十、基于FPGA的PCIE协议介绍(一)
- QEMU文档之bypass iommu
- 从本机复制文件到VM虚拟机出现卡死
- 中继段光缆测试与用户光缆测试有什么区别?
- linux中ps-p,linux下ps命令
- linux系统iso文件详解,ISO镜像文件解析
- MindManager思维导图 PRDBRD写作方法与技巧 产品规划模板下载
- linux安全检查与加固报告,linux安全加固文档分析.doc