awvs11停止awvs扫描小技巧后就不能继续吗

我们坚信只有今天付出了,才有机会看到明天的太阳!
现在!加入我们,给你一个气氛优秀的技术圈子
请完成以下验证码
查看: 1946|回复: 5
社区更新Forums
随机图赏Gallery
2017年中旬WEB渗透系列课程-14XSS能干什么2017年中旬WEB渗透系列课程-13XSS漏洞检测2017年中旬WEB渗透系列课程-12XSS分析及演示2017年中旬WEB渗透系列课程-11注入的其他姿势2017年中旬WEB渗透系列课程-10基于提交方式注入的分析2017年中旬WEB渗透系列课程-09Mysql注入跨库2017年中旬WEB渗透系列课程-08Mysql注入读写2017年中旬WEB渗透系列课程-07Mysql常规注入2017年中旬WEB渗透系列课程-06Mysql注入分析教你5分钟内翻墙游遍国外网站
AWVS11漏洞扫描器
查看: 1946|回复: 5
AWVS11漏洞扫描器链接: 密码:hyue
本帖子中包含更多资源
正式会员需要
才可以下载或查看,没有帐号?
width:100%">
感谢大佬分享
width:100%">
你好 这是破解版吗
width:100%">
你好 这是破解版吗
width:100%">
你好 这是破解版吗
width:100%">
链接挂掉了
width:100%">
Powered by Discuz! X3.2&&
充值199元即可成为正式会员!
现在成为正式会员即可享受:1、原创课程及工具资源下载 2、内部交流及讲师答疑服务 3、参与团队外包渗透测试项目 Python实现Awvs自动化扫描 | 中国菜刀
比来再做一个python的小法式,首要功用是完成Acuenetix Web Vulnerability Scanner的自动化扫描,批量对一些目标停止扫描,然后对扫描结果写入mysql数据库。写这篇文章,分享一下一些思绪。
法式首要分三个功用模块,Url下载、批量扫描、结果入库,
有一个其他自力的法式,在流量镜像干事器长停止抓包,抓取Http和谈的包,然后对包停止挑选措置责罚,保管一些带有各类参数的url,然后对url停止入库。url下载功用主假设从mysql数据库中下载url。
批量扫描功用首要挪用了Awvs的敕令行wvs_console.exe,调研的时辰先是考试考试用awvs设计义务来完成批量扫描,然则发现在将一些awvs设置发包给设计义务的时辰会碰着各类难题,设计义务貌似也不是一个网页,采用的是XML模版,手艺有限,最后没完成,只好摒弃。
之后发现Awvs支撑敕令行,wvs_console.exe就是主法式,有许多敕令参数,根基能完成Awvs界面操作的一切功用。批量扫描主假设读取下载到外地的url,停止逐一扫描。要将扫描结果留存到外地access数据库文件,需求应用savetodatabase参数。
Awvs会自动将扫描结果留存到外地的access数据库中,详细的表是Wvs_alerts,也可以设置留存到Mssql数据库中,详细的是在Application Setting停止设置。结果入库模块的功用是从access数据库挑选出风险品级为3的,然后将它们写入到mysql数据库。首要用了正则表达式对request中的host,马脚文件,get或post提交的央求停止挑选拼集,获取到完整的马脚红黑url。
贴上代码,很菜,代码各类Bug,最首要的是法式的整个流程设计存在效果,招致后来被年夜佬给否失踪了,没有思索到频频扫描和法式异常中止的景遇,招致我的法式只能一向运转下去 ,否则重新运转又会从头对url停止扫描。
对此很郁闷,某天早晨下班回家想了想,感受可以经由进程以下体式格式来处置以上两个效果:
Awvs扫描结果数据库中有一个Wvs_scans表,留存的都是扫描过的url,以及扫描最先时分和竣事时分。可以将当天的url留存到一个list中,然后在扫描之前先将之前一切扫描过的URL查询出来,异样留存在list中,读取list中的url,判定能否在扫描过的URL list中,假设存在将之从url list中删除失踪;假设不存在则再停止扫描。
异常中止的话貌似只能增添系统设计义务,天天竣事再翻开,不知道若何不时看守系统历程,经由进程能否存在wvs的历程来判定。
以上只是一个也许的法式引见,贴上代码,代码能够存在一些效果,有喜好的童鞋去完美完美,年夜佬感受我的效率和编码才干有待进步,so,让继续进修,所以没再继续跟进这个项目。
downurl.py 代码:
#coding:utf-8
import MySQLdb
import os,time,shutil
import hashlib,re
datanow=time.strftime('%Y-%m-%d',time.localtime(time.time()))
#filetype='.txt'
#urlfilename=datanow+filetype
#path=&D: wvscan url
#newfile=path+urlfilename
datanow=time.strftime('%Y-%m-%d',time.localtime(time.time()))
con=MySQLdb.Connect('10.1.1.1','root','9;,'wvsdb')
cur=con.cursor()
sqlstr='select url from urls where time like %s'
values=datanow+'%'
cur.execute(sqlstr,values)
data=cur.fetchall()
#将当天的URL留存到外地url.txt文件
f=open(r'd: Wvscan url.txt','a+')
uhfile=open(r'd: Wvscan urlhash.txt','a+')
line=uhfile.readlines()
#留存之前对url停止复杂的措置责罚,跟外地的hash文件比对,确保url.txt中url不频频
for i in range(0,len(data)):
impurl=str(data[i][0]).split('=')[0]
urlhash=hashlib.new('md5',impurl).hexdigest()
urlhash=urlhash+' n'
if urlhash in line:
uhfile.write(urlhash)
newurl=str(data[i][0])+' n'
f.writelines(newurl)
cur.close()
con.close()
抓包法式抓到的url能够频频率较高,而且都是带参数的,留存到外地的时辰截取了最前面的域名+目录+文件部门停止了复杂的去重。Awvs能够不年夜适宜这样的体式格式,只需求将悉数的域名列出来,然后逐一扫描即可,site Crawler功用会自动匍匐。
writeinmysql.py 结果入库模块,代码:
#coding:UTF-8
import subprocess
import os,time,shutil,sys
import win32com.client
import MySQLdb
import re,hashlib
reload(sys)
sys.setdefaultencoding('utf-8')
#需求先在win干事器设置odbc源,指向access文件。理想用pyodbc模块能够更好一些
def writeinmysql():
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft Access Driver (*.mdb, *.accdb)'
conn.Open('awvs')
cur=conn.cursor()
rs = win32com.client.Dispatch(r'ADODB.Recordset')
rs.Open('[WVS_alerts]', conn, 1, 3)
if rs.recordcount == 0:
#遍历一切的结果,cmp停止挑选风险品级为3的,也就是高危
while not rs.eof:
severity = str(rs('severity'))
if cmp('3', severity):
rs.movenext
vultype = rs('algroup')
vulfile=rs('affects')
#由于mysql库中要求的马脚类型和access的称号有点差别,所以还需求对马脚类型和风险品级停止二次命名,sql注入和xss为例
xss='Cross site'
sqlinject='injection'
if xss in str(vultype):
vultype='XSS'
level='低危'
elif sqlinject in str(vultype):
vultype=&SQL注入&
level='高危'
level='中危'
#拼集出马脚红黑url,用了正则表达式, post和get类型的request央求是分歧的
params = rs('parameter')
ss = str(rs('request'))
str1 = ss[0:4]
if 'POST'== str1:
requestType = 'POST'
regex = 'POST (.*烦忙) HTTP/1 . d+'
str1 = re.findall(regex, ss);
requestType = 'GET'
regex = 'GET (.*烦忙) HTTP/1 . d+'
str1 = re.findall(regex, ss);
regex = 'Host:(.*烦忙) r n'
host = re.findall(regex, ss);
if host == []:
host = ''
host = host[0].strip()
if str1 == []:
str1 = ''
str1 = str1[0]
url =host + str1
timex=time.strftime('%Y-%m-%d',time.localtime(time.time()))
scanner='Awvs'
comment=''
db = MySQLdb.connect(host=&10.1.1.1&, user=&root&, passwd=&&, db=&wvsdb&,charset='utf8')
cursor = db.cursor()
sql = 'insert into vuls(status,comment,vultype,url,host,params,level,scanner) values(%s,%s,%s,%s,%s,%s,%s,%s)'
values =[status,comment,vultype,'http://'+url.lstrip(),host,params,level,scanner]
#入库的时辰又停止了去重,确保mysql库中没有存在该条马脚记载,跟外地留存的vulhash停止比对,感受这种体式格式很原始。
hashvalue=str(values[2])+str(values[4])+str(vulfile)+str(values[5])
vulhash=hashlib.new('md5',hashvalue).hexdigest()
vulhash=vulhash+' n'
file=open(r'D: Wvscan vulhash.txt','a+')
if vulhash in file.readlines():
file.write(vulhash+' n')
cursor.execute(sql, values)
delsql='delete from vuls where vultype like %s or vultype like %s'
delvaluea='Slow HTTP%'
delvalueb='Host header%'
delinfo=[delvaluea,delvalueb]
cursor.execute(delsql,delinfo)
db.commit()
rs.movenext
conn.close
cursor.close()
db.close()
if __name_=='__main__':
writeinmysql()
time.sleep(10)
#备份天天的扫描,用原始数据库替代,随意马虎第二天继续留存。
datanow=time.strftime('%Y-%m-%d',time.localtime(time.time()))
filetype='.mdb'
urlfilename=datanow+filetype
path=&D: wvscan databak
databakfile=path+urlfilename
shutil.copyfile(r'D: Wvscan data vulnscanresults.mdb',databakfile)
shutil.copyfile(r'D: Wvscan vulnscanresults.mdb',r'D: Wvscan data vulnscanresults.mdb')
startwvs.py,扫描模块,这个模块效果较多,就是之前提到的,没有思索频频扫描和异常终止的效果,贴上代码:
#coding:utf-8
import subprocess
import os,time,shutil
file=open(r&D: Wvscan url.txt&,&r&)
def wvsscan():
for readline in file:
url=readline.strip(' n')
cmd=r&d: Wvs wvs_console.exe /Scan &+url+r& /SavetoDatabase&
can=subprocess.Popen(cmd)
doscan.wait()
if __name__=='__main__':
阿德马原创,转载请注明出处,Tks!
本条目发布于。属于分类。作者是。
Recent PostsPython实现Awvs自动化扫描
Python实现Awvs自动化扫描
围观20139次
编辑日期: 字体:
20,140 views
最近再做一个python的小程序,主要功能是实现Acuenetix Web Vulnerability Scanner的自动化扫描,批量对一些目标进行扫描,然后对扫描结果写入mysql数据库。写这篇文章,分享一下一些思路。
程序主要分三个功能模块,Url下载、批量扫描、结果入库,
有一个另外独立的程序,在流量镜像服务器上进行抓包,抓取Http协议的包,然后对包进行筛选处理,保留一些带有各种参数的url,然后对url进行入库。url下载功能主要是从mysql数据库中下载url。
批量扫描功能主要调用了Awvs的命令行wvs_console.exe,调研的时候先是尝试用awvs计划任务来实现批量扫描,但是发现在将一些awvs设置发包给计划任务的时候会遇到各种困难,计划任务貌似也不是一个网页,采用的是XML模版,技术有限,最后没实现,只好放弃。
之后发现Awvs支持命令行,wvs_console.exe就是主程序,有很多命令参数,基本能实现Awvs界面操作的所有功能。批量扫描主要是读取下载到本地的url,进行逐一扫描。要将扫描结果保存到本地access数据库文件,需要使用savetodatabase参数。
Awvs会自动将扫描结果保存到本地的access数据库中,具体的表是Wvs_alerts,也可以设置保存到Mssql数据库中,具体的是在Application Setting进行设置。结果入库模块的功能是从access数据库筛选出危害等级为3的漏洞,然后将它们写入到mysql数据库。主要用了正则表达式对request中的host,漏洞文件,get或post提交的请求进行筛选拼凑,获取到完整的漏洞测试url。
贴上代码,很菜,代码各种Bug,最主要的是程序的整个流程设计存在问题,导致后来被大佬给否掉了,没有考虑到重复扫描和程序异常中止的情况,导致我的程序只能一直运行下去 ,否则重新运行又会从头对url进行扫描。
对此很郁闷,某天晚上下班回家想了想,觉得可以通过以下方法来解决以上两个问题:
Awvs扫描结果数据库中有一个Wvs_scans表,保存的都是扫描过的url,以及扫描开始时间和结束时间。可以将当天下载的url保存到一个list中,然后在扫描之前先将之前所有扫描过的URL查询出来,同样保存在list中,读取list中的url,判断是否在扫描过的URL list中,如果存在将之从url list中删除掉;如果不存在则再进行扫}

我要回帖

更多关于 awvs扫描 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信