你可以在以下渠道联系到我,转载请注明文章来源地址~

  • 知乎: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批量脚本相关推荐

  1. plsql command window 执行批量脚本

    commandwindow 是执行批量脚本的,也可以单个执行一条语句,但它的输出结果不如sqlwindow,而sqlwindow执行的是一个语句,输出结果是规范的表格 比如,现在有100条插入语句,你 ...

  2. 通过批处理调用SQL*Plus执行批量脚本

    文章目录 在批处理文件中调用SQL*Plus命令执行批量脚本的场景 Windows命令终端连接数据库 方式1:登录进入SQL命令行 方式2:先进入SQL命令行,再登录 方式3: 使用用户名/密码连接指 ...

  3. awd的批量脚本 pwn_北极星杯AWD-Writeup

    前言 祝祖国70周年生日快乐,也祝星盟一周年生日快乐.感谢各位师傅在国庆假期抽出时间参加这次比赛,也感谢负责组织比赛的师傅忙前忙后. 我是M09ic,负责本次北极星杯AWD的赛后分享.靠着抱大腿以及足 ...

  4. awd的批量脚本 pwn_AWD攻防之web入门篇

    前言 AWD(Attack With Defense,攻防兼备)模式是一个非常有意思的模式,你需要在一场比赛里要扮演攻击方和防守方,攻者得分,失守者会被扣分.也就是说,攻击别人的靶机可以获取 Flag ...

  5. HBase shell执行批量脚本

    场景描述: HBase namespace中有大量无用的小表,占用了过多的block,需要批量删除,了解了一下有两种方式: 1.使用通配符 用drop命令可以删除表.在删除一个表之前必须先将其禁用. ...

  6. 测站数据批量脚本下载

    项目场景: 目录 项目场景: 问题描述: 原因分析: 解决方案: 武汉大学IGS数据中心网页显示"服务器错误"无法下载数据.http://www.igs.gnsswhu.cn/in ...

  7. awd的批量脚本 pwn_CTF线下赛AWD套路小结

    CTF线下赛AWD套路小结 本文已在先知社区发表,欢迎访问,链接h 最近打了2场CTF线下赛,把AWD模式中的一些小套路做一些总结,本人web狗,二进制部分就不班门弄斧了. 一.AWD模式简介 AWD ...

  8. ffmpeg mac 批量脚本_使用批处理脚本(BAT)调用FFMPEG批量编码视频

    使用批处理脚本(BAT)编码视频非常方便,尤其当视频序列非常多的时候,更是省了不少简单重复性劳动. 只要学会批处理里面几个基本的命令就行了,感觉和c/c++差不多. set:设置变量(注意:变量一般情 ...

  9. awd的批量脚本 pwn_北极星杯 awd复现

    北极星杯 awd复现 服务器共有3个web和一个pwn web1 1,down下web1的源码,使用D盾扫描: 2,漏洞1:发现三个冰蝎的木马,和一个一句话木马 冰蝎的后门需要使用冰蝎的客户端进行连接 ...

  10. 解决matlab打开批量脚本文件[中文乱码]问题

    问题: 在电脑A中matlab创建的脚本程序,拷贝后去电脑B上matlab软件打开,发现脚本文件中的中文注释是乱码的. 原因: 打开同一文件的matlab软件版本不一,matlab编码方式不同,在A上 ...

最新文章

  1. Linux服务器上监控网络带宽的18个常用命令
  2. SCRIPT1028:缺少标识符、字符串或数字 jquery ajax
  3. Spring注解创建Bean的几种方式
  4. 数据库记录的添加、修改、删除(DataAdapter、DataTable 、DataRow )
  5. kubernetes1.8.4安装指南 -- 3. 安装docker ce
  6. linux mysql帮助文档,在 Linux 上安装 MySQL
  7. c 语言运算符号大全,c语言运算符号详细说明
  8. 一个简单的任务处理队列
  9. C# 实现阴历阳历互转
  10. 2019年10月中国编程语言排行榜
  11. 万物皆可傅里叶|傅里叶分析之掐死教程(完整版)
  12. 毕设-SpringBoot学生请假系统
  13. Windows7旗舰版SP1_32位2018.10(装机版)
  14. OpenCV常用函数极简简介
  15. 【Internet Explorer】IE11卸载不干净导致无法安装IE10
  16. revit相关报错合集
  17. netstat -i和-s
  18. 输入相应的数打印三角形
  19. C# 对JS解析AJX请求JSON并绑定到html页面的一些心得
  20. ES修改默认的密码信息

热门文章

  1. fatal: unable to access 'https://github.com:***' 或者本机ping不通github.com解决方法
  2. 2 --> PCIE 协议栈的框架详解
  3. 十、基于FPGA的PCIE协议介绍(一)
  4. QEMU文档之bypass iommu
  5. 从本机复制文件到VM虚拟机出现卡死
  6. 中继段光缆测试与用户光缆测试有什么区别?
  7. linux中ps-p,linux下ps命令
  8. linux系统iso文件详解,ISO镜像文件解析
  9. MindManager思维导图 PRDBRD写作方法与技巧 产品规划模板下载
  10. linux安全检查与加固报告,linux安全加固文档分析.doc