AWVS提供了自定义的脚本编程接口,可是网上的资料很少,只有官方的几篇介绍和参考手册,最近研究了一下怎么编写AWVS的漏洞脚本来写一篇简单性的文章

本文以8.0为例,首先呢安装好Acunetix Web Vulnerability Scanner 8(该破解的破解,该付费的付费),然后我们需要WVS公开的小小的SDK,下载地址:http://www.acunetix.com/download/tools/WVSSDK.zip ,下载好了后解压bin目录下的WVSS.exe到WVS安装目录下面,此即为WVS脚本编写工具。另外sdk里还有3个简单的脚本小例子和WVS_SDK_Quick_Introduction.pdf,耐心的可以看看。

下面的截图就是WVS码脚本工具了

打开WVS数据目录,通常是在C:\Documents and Settings\All Users\Application Data\Acunetix WVS 8\Data\Scripts下,可以看到有10个文件夹,Network、PerFile、PerScheme、PostScan、PerFolder、PerServer、PostCrawl、WebApps、XML。我们先来认识一下:

Network:此目录下的脚本文件是当扫描器完成了端口扫描模块后执行,这些脚本可以检测TCP端口的开放情况,比如检测FTP的21端口是否开放、是否允许匿名登录;

PerFile:此目录下的脚本是当扫描器爬虫爬到文件后执行,比如你可以检查当前测试文件是否存在备份文件,当前测试文件的内容等;

PerFolder:此目录下的脚本是当扫描器爬虫爬行到目录后执行,比如你可以检测当前测试目录是否存在列目录漏洞等;

PerScheme:此目录下的脚本会对每个URL的 GET、POST结构的参数进行检测,AWVS定义了的参数包括HTTP头、Cookies、GET/POST参数、文件上传(multipart/form-data)……比如你可以检测XSS、SQL注入和其他的应用程序测试;

PerServer:此目录下的脚本只在扫描开始是执行一次,比如你可以检测Web服务器中间件类型;

PostScan:此目录下的脚本只在扫描结束后执行一次,比如你可以检测存储型XSS、存储型SQL注入、存储型文件包含、存储型目录遍历、存储型代码执行、存储型文件篡改、存储型php代码执行等;

XML:漏洞的详细描述文档都在这里。

今天演示的漏洞是 Discuz 7.2的faq.php SQL注入,关于漏洞:http://ha.cker.in/1087.seo

我们就用POC来写漏洞的脚本吧!

检测原理:

根据公开的POC构造出特殊请求,若存在 SQL注入 则构造的SQL语句将会执行成功并在返回到响应内容,构造POC如下:

faq.php?action=grouppermission&gids[99]='&gids[100][0]=)%20and%20(select%201%20from%20(select%20count(*),concat((select%200x4861636B656442795365636572),floor(rand(0)*2))x%20from%20information_schema%20.tables%20group%20by%20x)a)%23

利用截图,存在漏洞会返回“HackedBySecer”字样:

我们需要用WVS的脚本请求此URL并处理返回的内容,以此判断是否存在漏洞。

打开AWVS,Tools -> Vulnerability Editor,右键VulnXMLs节点,选择‘Add Vulnerability’

新建一个漏洞,VulnXML FILENAME为Discuz7.2FaqSqlinjection,点Add按钮(新建的VulnXML会被保存到XML文件夹下哦)

接下来登记下该漏洞的相关信息

然后进入wvss写脚本,保存为Discuz7.2FaqSqlinjection.script放入PerServer文件夹吧。

测试脚本:

使用AWVS的网站爬虫爬行网站并保存结果,

这里选择根目录

点击小三角按钮测试

完整的代码如下

测试成功了,我到WVS里扫描去测试扫描看看~

我们新建的漏洞脚本在这里,Scanning Profiles –》 PerFolder目录下,新建一个扫描模板勾选要测试的脚本并保存,这里保存为“test_HA.CKER.IN”,然后用这个模板扫描目标站测试吧

选择模板并开始扫描

扫描完成后,结果如图

漏洞脚本重复检测了很多次,下次更新修复下这个问题。

本人不才,这次对AWVS自定义脚本编写简单的介绍就到这了,只是做个示例展示给大家,这些API不是很详细我也不是很会写,更多的API等你去挖掘吧!

参考:

http://www.acunetix.com/vulnerability-scanner/scriptingreference/index.html

http://www.acunetix.com/blog/docs/creating-custom-checks-acunetix-web-vulnerability-scanner/

编写自己的Acunetix WVS漏洞扫描脚本详细教程的更多相关文章

  1. Acunetix WVS安全测试软件使用教程(入门级)

    1.下载 Acunetix WVS 10.5软件,下载地址为:https://pan.baidu.com/s/1Koku0Lhya5PgphMVL7w19g 密码:v438 2.压缩包中有破解说明,按 ...

  2. (汉化改进作品)BruteXSS:Xss漏洞扫描脚本

    今天给大家进行汉化改进的事一款脚本工具:BruteXSS,这款脚本能自动进行插入XSS,而且可以自定义攻击载荷. 该脚本也同时提供包含了一些绕过各种WAF(Web应用防护系统)的语句.   0×01简 ...

  3. Acunetix Web Vulnerability Scanner(WVS)(Acunetix网络漏洞扫描器)

    Acunetix网络漏洞扫描软件检测您网络的安全性安全测试工具Acunetix Web Vulnerability Scanner(WVS) (Acunetix网络漏洞扫描器)技术 网络应用安全扫描技 ...

  4. [原创]K8飞刀 新增Acunetix WVS 远程漏洞 反制黑客

    工具: K8飞刀20150603组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http://qqhack8.blog.163.com发布: 2015/6/3 20:41:29 简介: ...

  5. 向日葵远程RCE漏洞分析及漏洞利用脚本编写

    0x00 漏洞概述 向日葵是一款免费的,集远程控制电脑.手机.远程桌面连接.远程开机.远程管理.支持内网穿透等功能的一体化远程控制管理软件.如果想要手机远控电脑,或者电脑远控手机可以利用向日葵:如果是 ...

  6. Linux shell编写端口扫描脚本

    Linux shell编写端口扫描脚本 需求: 扫描特定主机 扫描特定主机的特定端口 扫描特定网段 扫描特定网段中哪些主机开放了特定的端口 源码如下: #/bin/bash #该脚本用于对特定目标主机 ...

  7. python模块之sys和subprocess以及编写简单的主机扫描脚本

    python模块之sys和subprocess以及编写简单的主机扫描脚本 1.sys模块 sys.exit(n)  作用:执行到主程序末尾,解释器自动退出,但是如果需要中途退出程序,可以调用sys.e ...

  8. 利用Acunetix WVS进行批量网站漏洞评估

    我们知道Acunetix WVS可以对网站进行安全性评估,那么怎么能批量扫描呢?游侠(www.youxia.org)在测试WVS 8 BETA2的时候发现WVS居然支持WEB管理,还是很方便的. 打开 ...

  9. Scapy编写ICMP扫描脚本

    使用Scapy模块编写ICMP扫描脚本: from scapy.all import * import optparse import threading import os def scan(ipt ...

随机推荐

  1. Objective-c基础学习

    核心内容 标识号 OC语言中,对各种变量,方法和类等要素命名时使用的字符序列称为标识符. OC标识符命名规则标识符由字母,下划线“_”,美元符号“$”和数字组成,标识符必须以字母,下划线,美元符号开头 ...

  2. 20135202闫佳歆--week 8 进程的切换和系统的一般执行过程--学习笔记

    此为个人笔记存档 week 8 进程的切换和系统的一般执行过程 一.进程调度与进程切换 1.不同的进程有不同的调度需求 第一种分类: I/O密集型(I/O-bound) 频繁的进行I/O 通常会花费很 ...

  3. 关于UITextView / String的尺寸

    关于UITextView以及String的尺寸动态获取 iOS7开始,UITextView设置text后不会立即反映到contentSize属性,而是在父容器layoutSubviews时进行cont ...

  4. nodejs初学————安装篇(iis8.5+windows8.1)

    nodejs很久前就想玩玩,不过一直没时间,昨晚花了4个小时来捣鼓到iis上架设成功了,废话不说了. PS:我的系统是windows8.1 x64,所以自带iis8.5的,下载的文件也是x64的. N ...

  5. OOP多态和继承要点

         早期绑定和多态 C#函数重载的签名规则是用参数的类型和数量判断,而不是函数的名字. 函数返回值不作为重载签名. 修饰符不作为签名的一部分,如static 同函数中,多个参数名称要唯一 ref ...

  6. Angular JS 学习笔记(自定义服务:factory,Promise 模式异步请求查询:$http,过滤器用法filter,指令:directive)

    刚学没多久,作了一个小项目APP,微信企业号开发与微信服务号的开发,使用的是AngularJS开发,目前项目1.0版本已经完结,但是项目纯粹为了赶工,并没有发挥AngularJS的最大作用,这几天项目 ...

  7. PHP+memcache扩展(集成环境wampserver环境下)

    按照别人的步骤,安装和配置后没有任何的错误提示!在计算机服务里面也看到memcached服务已经开启,但是phpinfo里面就是没有memcache已经安装成功的信息!后来才发现原来是没有开启wamp ...

  8. SQL温故系列两篇(一)

    1.不允许保存更改.您所做的更改要求删除并重新创建以下表 关于SQL2008 “不允许保存更改.您所做的更改要求删除并重新创建以下表. 打开SQL SERVER 2008 工具-->选项--&g ...

  9. 第四十一课:CSS3 animation详解

    animation是css3的另一个重要的模块,它成型比transition晚,吸取了Flash的关键帧的理念,实用性高. animation是一个复合样式,它可以细分为8个更细的样式. (1)ani ...

  10. webform中的验证控件及两个应用技巧

    一.非空验证--RequiredFiledValidator <一>属性: ErrorMessage--验证出错后的提示信息 ControlToValidate--要验证的控件的ID Di ...