100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > AWVS批量扫描-妈妈再也不用担心我不会用awvs批量扫描了

AWVS批量扫描-妈妈再也不用担心我不会用awvs批量扫描了

时间:2022-12-11 16:54:12

相关推荐

AWVS批量扫描-妈妈再也不用担心我不会用awvs批量扫描了

详细信息:/blog/news/acunetix-v13-release/

直接下一步安装就可以了;

1、wvsc.exe覆盖到“C:\Program Files (x86)\Acunetix\13.0.200205121\

2、license_info.json覆盖到“C:\ProgramData\Acunetix\shared\license”

然后记得点击属性改成只读。

下载地址:

windows:/s/1sPEIXi8XkEGlHhrfPm-KWQ 密码:menp

Linux:/s/1DOlrsXKEsWeYBTx-y5RJlw 密码:tv9z

解压密码:

二、批量扫描

awvs没有批量扫描的功能如果一个一个添加扫描目标还是比较麻烦的,这里可以通过脚本来批量 添加 扫描目标

需要注意修改几个地方

1:awvs的访问地址。如果没有改过就是默认的https://localhost:3443

2:awvs的API接口。

然后点击profile

找到API Key,如果没有则新建一个,如果有就直接copy

然后替换python脚本中的数据

# -*-coding:utf-8-*-import jsonimport requestsfrom queue import Queuerequests.packages.urllib3.disable_warnings() # 消除equests提示警告class Awvs():def __init__(self):self.host = 'https://localhost:3443'self.add_url_api = self.host + '/api/v1/targets' # 新增任务接口self.speed_url_api = self.host + '/api/v1/targets/{}/configuration' # 设置扫描速度接口self.scan_url_api = self.host + '/api/v1/scans' # 启动扫描任务接口self.stats_url_api = self.host + '/api/v1/me/stats' # 仪表盘接口self.del_target_api = self.host + '/api/v1/targets/{}' #删除任务接口self.API_KEY = '1986ad8c0a5b3df4d7028d5f3c06e936c5fdedf96d18c44e9a1a8e62d992df485'self.header = {'X-Auth': self.API_KEY, 'content-type': 'application/json'} # header格式self.target_url = Queue() # 创建扫描url队列self.target_id = Queue() # 创建任务id号队列self.speed = 'fast' # 定义扫描速度def main(self): # 主程序-选择对应的功能print('选择要使用的功能(输入相应的编号):')print('1.使用target.txt添加扫描任务 (注:url必须带有http或https)')print('2.查看扫描器详情')print('3.删除所有任务')print('4.退出')choice = input('>')if choice == '1':self.run1()exit()if choice == '2':self.run2()exit()if choice == '3':self.run3()exit()if choice == '4':exit()else:self.main()def run1(self): # 创建任务,自动设置为fast模式,并开启扫描。self.url_queue()self.add_target()self.scan_target()def url_queue(self): # 提取target.txt文件里面的url,并添加进self.target_url队列fh = open(r'./target.txt', 'r', encoding='utf-8')for i in fh.readlines():url = i.strip('\n') # 去除空行和回车行self.target_url.put(url)def add_target(self): # 添加扫描任务,并将返回包里的target_id添加进self.target_id队列while True:if self.target_url.empty(): # 判断x'Bself.target_url队列是否为空,为空就中断循环breaktarget_url = self.target_url.get() # 取self.target_url队列中的元素add_data = json.dumps({'address' : target_url,'description' : target_url,'criticality' : '10'})add_target_res=requests.post(url=self.add_url_api,headers=self.header,data=add_data,verify=False) #添加任务if add_target_res.status_code==201: # 判断状态码是否为201target_id=add_target_res.json()['target_id']#以json格式打开add_target_res,self.target_id.put(target_id) # 将创建好任务的target_id,添加到target_id队列中else:print('任务建立失败,请检查host和API_KEY是否修改正确')def scan_target(self): # 设置扫描速度,并启动扫描任务while True:if self.target_id.empty(): # 判断self.target_id队列是否为空,为空就中断循环breakscan_target_id = self.target_id.get() # 取self.target_id队列中的元素set_data = json.dumps({'scan_speed': self.speed})scan_data = json.dumps({"target_id": scan_target_id,"profile_id": "11111111-1111-1111-1111-111111111111","schedule": {'disable': False, 'start_date': None, 'time_sensitive': False}})set_speed_res = requests.patch(url=self.speed_url_api.format(scan_target_id),data=set_data,headers=self.header,verify=False) #设置扫描速度if set_speed_res.status_code==204: # 判断状态码是否为204scan_target_res=requests.post(url=self.scan_url_api,data=scan_data,headers=self.header,verify=False) #启动扫描任务if scan_target_res.status_code==201: # 判断状态码是否为201print(scan_target_res.json()['target_id']+'任务建立成功')else:print('任务建立失败,请检查host和API_KEY是否修改正确')def run2(self): # 查看仪表盘stats_res = requests.get(url=self.stats_url_api, headers=self.header, verify=False).json()print('任务总数:' + str(stats_res['targets_count']))print('正在扫描的任务数量:'+str(stats_res['scans_running_count']))print('等待扫描的任务数量:'+str(stats_res['scans_waiting_count']))print('任务详情:')for i in stats_res['most_vulnerable_targets']:task_details=i['address']+' High risk:'+str(i['high_vuln_count'])+' medium risk:'+str(i['med_vuln_count'])print(task_details)def run3(self): # 删除所有任务self.get_target_id()self.del_target()def get_target_id(self): # 获取所有任务的扫描的地址和idstats_res=requests.get(url=self.add_url_api,headers=self.header,verify=False).json()['targets']for i in stats_res:self.target_id.put([i['address'],i['target_id']]) # 将地址和id已列表的形式添加进target_id队列def del_target(self): # 删除任务while True:if self.target_id.empty():breakdel_target_id=self.target_id.get()# 取target_id队列的元素del_target_res=requests.delete(url=self.del_target_api.format(del_target_id[1]),headers=self.header,verify=False)if del_target_res.status_code==204:print('成功删除{}' .format(del_target_id[0]))else:print('删除失败')if __name__ == '__main__':aw = Awvs()aw.main()

在与脚本同一个目录中新建一个target.txt文件,里面写上要扫描的目标

然后执行python脚本,输入“1”,就可以批量添加扫描目标然后自动扫描了。如果目标较多,等待的时间会长一些

打开网页就会看到扫描任务已经在进行了。

LINUX版

/developer/article/1680559?from=15425

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。