wvs如何应对频频提示激活

发布时间:September 15, 2017 // 分类:运维工作,工作日志,开发笔记 // No Comments

今天基友和我说起来wvs总是提示激活的时候没发扫描啊.于是就想了下咋个自动化或者快速的解决这个问题.总的来说我暂时知道的方法有两个。认真的激活或者禁止和服务器通信,就自然不会再激活

1.自动激活
虽然禁止了升级提示的频率有所减少。但是依旧会提示.所以就想办法搞了一个自动激活的脚本.加入计划任务。每天执行一次就好了…^_^

WScript.Echo "wvs auto Activation by Saline"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "Activation.exe"
WScript.Sleep 2500
WshShell.SendKeys "{ENTER}"
WScript.Sleep 2500
WshShell.SendKeys "{ENTER}"
WScript.Sleep 2500
WshShell.SendKeys "{ENTER}"
WScript.Sleep 2500
WshShell.Run "taskkill /im chrome.exe /f"
WScript.Sleep 2500
WshShell.SendKeys "{ENTER}"
WScript.Sleep 100
WScript.Echo "Activation finished"
WshShell.Run "proto.exe awvs://launch/"
WScript.Sleep 2500
WshShell.Run "taskkill /im chrome.exe /f"
WScript.Sleep 100
WScript.Echo "wvs restart finish"

把里面的chrome.exe换成自己的浏览器的程序就好了.把脚本保存为xxx.vbs.放入到wvs的安装目录.重新建一个bat

cd C:\Program Files (x86)\Acunetix 11\11.0.170951158
cscript reactive.vbs
exit

然后把这个bat加入计划任务

schtasks  /create  /tn  wvs_active /tr  c:\wvs_task.bat  /sc  DAILY /st  00:30:00  


好不容易熬到了00:30.不知道为嘛要设定这个时间.

本来想录制gif的.奈何没有搞定.
http://www.iqiyi.com/w_19rv72o4ch.html

2.把地址加入hosts
这个是一个大牛提出来的.我还没有测试.

还有更多的期望大牛们来提供补充

擦除wvs的一些标志

发布时间:August 18, 2017 // 分类: // No Comments

最近在调试整合wvs的这个扫描程序.发现了一些问题,比如说我发现wvs总是会带一些标志.比如说

headers

Acunetix-Aspect
Acunetix-Aspect-Password
Acunetix-Aspect-Queries
Accept:acunetix/wvs
Referer:www.acunetix-
Cookie: acunetixCookie

2.url里面包含的特征

md5(acunetix_wvs_security_test)
injected_by_wvs
wvstest
acunetix-wvs-test
acunetix.wvs
acunetix_invalid
$acunetix
bxss.me

扫描了一个本地的靶场.然后查看日志

root@bee-box:/var/log/apache2# cat access.log |grep acunetix | wc -l
5549
root@bee-box:/var/log/apache2# cat access.log |grep acunetix_wvs_security_test | wc -l
5075
root@bee-box:/var/log/apache2# cat access.log |grep -v acunetix_wvs_security_test |grep wvs | wc -l
3879
root@bee-box:/var/log/apache2# cat access.log |grep -v acunetix_wvs_security_test |grep -v wvstest | grep wvs |wc -l
13
root@bee-box:/var/log/apache2# cat access.log |grep -v acunetix_wvs_security_test |grep -v wvstest | grep wvs |tail
192.168.0.100 - - [17/Aug/2017:19:29:55 +0200] "GET /acunetix-wvs-test-for-some-inexistent-file HTTP/1.1" 404 409 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"
192.168.0.100 - - [17/Aug/2017:19:29:57 +0200] "GET http://www.acunetix.wvs HTTP/1.1" 200 588 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"
192.168.0.100 - - [17/Aug/2017:19:29:57 +0200] "CONNECT www.acunetix.wvs:443 HTTP/1.1" 405 408 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"
192.168.0.101 - - [17/Aug/2017:19:32:06 +0200] "GET /acunetix-wvs-test-for-some-inexistent-file HTTP/1.1" 404 409 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"
192.168.0.101 - - [17/Aug/2017:20:24:37 +0200] "GET /acunetix-wvs-test-for-some-inexistent-file HTTP/1.1" 404 409 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"
192.168.0.101 - - [17/Aug/2017:20:25:36 +0200] "GET /acunetix-wvs-test-for-some-inexistent-file HTTP/1.1" 404 409 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"
192.168.0.101 - - [17/Aug/2017:20:35:08 +0200] "GET /acunetix-wvs-test-for-some-inexistent-file HTTP/1.1" 404 409 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"
192.168.0.100 - - [18/Aug/2017:03:58:49 +0200] "GET /acunetix-wvs-test-for-some-inexistent-file HTTP/1.1" 404 409 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"
192.168.0.100 - - [18/Aug/2017:03:58:54 +0200] "CONNECT www.acunetix.wvs:443 HTTP/1.1" 405 408 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"
192.168.0.100 - - [18/Aug/2017:03:58:54 +0200] "GET http://www.acunetix.wvs HTTP/1.1" 200 588 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"
root@bee-box:/var/log/apache2#

所以很容易确定这个属于wvs扫描的.也很容易就被waf直接干掉了.所以需要借助于第三发的其他来去掉这些标志。之前有看到burp来去掉这个标志的.但是在云端,开一个burp好像有点gg的.于是想到了强悍的wyproxy.

首先去掉httpheader里面的标志.在handler.py里面增加了一个擦除函数

def Characteristics(headers):
    #repeat wvs
    if 'Acunetix-Aspect' in headers:
        del headers['Acunetix-Aspect']
    if 'Acunetix-Aspect-Password' in headers:
        del headers['Acunetix-Aspect-Password']
    if 'Acunetix-Aspect-Queries' in headers:
        del headers['Acunetix-Aspect-Queries']
    if 'Accept' in headers:
        if headers['Accept'] == 'acunetix/wvs':
            headers['Accept'] = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'
    if 'Referer' in headers:
        if 'www.acunetix-' in headers['Referer']:
            headers['Referer'] = flow.request.url
    if 'Cookie' in headers:
        if 'acunetixCookie' in headers['Cookie']:
            headers['Cookie'] = headers['Cookie'].replace('acunetixCookie','testCookie')
    return headers

然后在wyproxy_request_handle里面增加一行

def wyproxy_request_handle(flow):
    """wyproxy send data to server before processing"""

    flow.request.anticache()  # disable cache
    flow.request.anticomp()   # disable gzip compress
    Characteristics(flow.request.headers)

测试效果如下.擦除前后的对比效果

就在我打算替换url参数的时候.类似

直接替换的函数.不过这样不可行.只是暂时的替换了,但是实际上请求的参数并没有被替换.

后来在看官方的文档的时候发现一个东西
http://docs.mitmproxy.org/en/stable/scripting/api.html#mitmproxy.http.HTTPRequest

replace(pattern, repl, flags=0, count=0)

Replaces a regular expression pattern with repl in the headers, the request path and the body of the request. Encoded content will be decoded before replacement, and re-encoded afterwards.

可以直接全文里面使用正则去替换.类似于

def dispose(url):
    #replacee path query
    #url.replace('md5\(acunetix_wvs_security_test\)','63c19a\'.\'6da79816\'.\'b21429e5b\'.\'b262daed8')
    url.replace('injected_by_wvs','injected_by_tsn')
    url.replace('wvstest','xsstest')
    url.replace('acunetix-wvs-test','security-test')
    url.replace('acunetix\.wvs','0xa.cc')
    url.replace('acunetix_invalid','file_invalid')
    url.replace('\[\$acunetix\]','[$filuname]')
    return url
def wyproxy_request_handle(flow):
    """wyproxy send data to server before processing"""

    flow.request.anticache()  # disable cache
    flow.request.anticomp()   # disable gzip compress
    Characteristics(flow.request.headers)
    dispose(flow.request)

测试的效果
实际的请求

服务器抓到的日志请求

实际的测试里面.发现部分替换掉了无法检测出结果.比如md5(acunetix_wvs_security_test)被替换掉了.对于php代码执行这块就检测不到了.bxss.me是肯定不能换掉掉.替换了后发现ssrf xxe 远程包含,远程读取都不能被发现了.不过查日志可以根据这个作为关键字来查找倒是

整合了一个wvs11的扫描

发布时间:July 14, 2017 // 分类:开发笔记,linux,python,windows // 10 Comments

最近忙里偷闲的整合了一个wvs11的扫描脚本。主要是借助了nmap和wvs11_api来实现。大概就是酱紫

主要是三台机器.
一台centos做子域名爆破+端口扫描+数据收集.
另外两台windows做wvs接收任务并启动扫描

关于wvs11的api之前有做过介绍
http://0cx.cc/about_awvs11_api.jspx
具体的利用方式以及导出为xml格式的报告。最后对xml进行处理的脚本都在
https://github.com/0xa-saline/acunetix-api

域名爆破修改自lijiejie的subDomainsBrute。加入第三方的收集,以及在端口扫描之前对ip进行处理.就是同c段的取最大和最小的来强制加入中间段的扫描.
https://github.com/0xa-saline/subDomainsBrute

端口扫描主要依赖是nmap。这里调用的是python-nmap
http://0cx.cc/solve_bug_withe-python-nmap.jspx
http://0cx.cc/some_skill_for_quen.jspx

主要是来判断端口以及对应的服务.如果出现来http/https的服务以后直接放入wvs里面扫描

部分插件调用的是bugscan的扫描脚本
http://0cx.cc/which_cms_online.jspx

其实主要的服务扫描则是非常漂亮的fenghuangscan.字典的加载方式则是参考了bugscan的加载。可以依赖于域名来切割加入字典

大概有这么一些服务类

多数是弱口令检测以及弱服务类型.

主要是把任务推送到wvs。看到wifi万能钥匙src放出来一些测试域名。测试来几个..

分类
最新文章
最近回复
  • 没穿底裤: 直接在hosts里面.激活的时候访问不到正确的地址
  • Sfish: 屏蔽更新是在控制台设置一下就可以了,还是说要在其他层面做一下限制,比如配置一下hosts让他升...
  • 没穿底裤: 激活,或者屏蔽地址禁止升级
  • 没穿底裤: 呃..这个思路不错啊..
  • Sfish: 博主好,想问一下,wvs11的破解版,是不是每隔一段时间就要重新激活一次才可以?有没有什么解决...