牛牛逼逼叉叉
菜单

自己编写Acunetix WVS漏洞扫描脚本

2014年07月08日,分类《工具》,作者:
博客捐助

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码脚本工具了

Acunetix WVS

打开WVS数据目录,通常是在C:Documents and SettingsAll UsersApplication DataAcunetix WVS 8DataScripts下,可以看到有10个文件夹,Network、PerFile、PerScheme、PostScan、PerFolder、PerServer、PostCrawl、WebApps、XML。我们先来认识一下:

Acunetix WVS

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”字样:

Acunetix WVS

 

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

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

Acunetix WVS

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

Acunetix WVS

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

Acunetix WVS

Acunetix WVS

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

测试脚本:

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

Acunetix WVS

这里选择根目录

Acunetix WVS

点击小三角按钮测试

Acunetix WVS

奇人绝技:利用php socket5代理进行内网渗透测试

在渗透测试中,经常会遇到的情况是拿到了webshell,但是webserver在内网,做的web端口映射对外提供web服务。如果有防护软件使得服务器权限变态到你无法创建socket代理和端口转发。这时候如果你想对内网web服务进行渗透,你就需要你拿下的这台服务器给你做代理服务。

我用到的工具是phpsocks和大家经常翻墙用的goagent,两款软件相对比,各有优势,phpsocks需要连接数据库,不过这个问题可以通过自己修改下他的PHP脚本和java客户端即可解决,昨天想改一下这个程序,然后被各种事情打断没时间弄,等有时间修改了再共享,它基于socket5代理,我们可直接把php脚本放到web服务器上,设置代理127.0.0.1:10080直接ssh或者http等协议直接访问内网,相当于拨VPN。goagent貌似不支持php的socket代理,所以这是最大的问题。

下面说下phpsocks的用法,这是一个开源程序,项目地址http://code.google.com/p/phpsocks5/

下载后解压如下

 

MIYSDJ3CGJ7Y_3@7V6G

首先运行deploy.bat

按照提示输入数据库信息,修改debuginfo为false,最后输入w写入配置,复制生成的php文件到你拿下的web服务器访问下,然后把地址输入到cmd界面的提示处,

运行run_without_polipo.bat

看到显示started说明启动成功,然后就跟平时使用软件一样设置代理即可,如果软件没有代理功能,可以使用sockscap直接代理

测试连接SSH

1



发表评论

电子邮件地址不会被公开。 必填项已用*标注

【上一篇】

黑客的分类-好流弊的赶脚

【下一篇】

谁说网站页面非要.html?.seo也可以