4.使用AWVS扫描网站漏洞及防御
4.使用AWVS扫描网站漏洞及防御
Acunetix Web Vulnerability Scanner(简称AWVS)是一个网站及服务器漏洞扫描软件,它包含有收费和免费两种版本,目前最新版本为Acunetix14 ,国内破解版本为Acunetix11,比较好用的版本为Acunetix10.x,11.x版本为在线管理扫描,支持多任务。官方网站http://www.acunetix.com/ ,该软件为国外著名的扫描软件之一,曾经被列为最为流行的web扫描器之一( http://sectools.org/web-scanners.html ) 。AWVS功能强大深受广大安全验证者的喜爱,在国内有破解版本下载。
4.1AWVS安装及简介
1. AWVS安装
(1)运行2016_05_20_01_webvulnscan105.exe,根据默认设置进行选择即可。正式版需要通过网络进行验证。
(2)破解版可以运行破解程序并进行注册,如图1所示,单击“PATCH”安装补丁程序,补丁更新成功后,会弹出一个注册验证窗口,使用默认设置即可,验证成功后即可使用。安装成功后会在桌面生成“Acunetix Web Vulnerability Scanner 10.5”及“Acunetix WVS Reporter 10.5”快捷方式,“Acunetix WVS Reporter 10.5”是生成报告,不适合中国国情,基本无啥用,“Acunetix Web Vulnerability Scanner 10.5”即为主程序,第一次运行Acunetix Web Vulnerability Scanner 10.5时会弹出一个注册窗口,选择取消注册,程序正常运行会默认扫描http://testhtml5.vulnweb.com 漏洞测试扫描站点。
2. AWVS简介
Acunetix Web Vulnerability Scanner扫描工具分为 web scanner、Tools、Web Services、Configuration和General五大模块,运行后,如图2所示,简要概述我们最相关的3个部分。
(1)Web Scanner(Web扫描器),默认情况产生10个线程的爬虫,是最常用的功能模块之一,通过该模块来对网站进行漏洞扫描,对大型网站扫描设置10个线程不会影响网站速度,对一些小型网站,由于带宽问题,有可能导致瘫痪,因此在有些SRC漏洞测试中禁止工作时间对目标网站进行扫描,解决方式是设置1-5个线程进行扫描。
(2)Tools(工具箱), 集成站点爬行、目标发现、域名扫描、盲注、HTTP编辑器、HTTP嗅探HTTP、Fuzzer、认证登录测试、结果比较等。比较有用的是子域名扫描。
(3)Configuration(配置),主要进行应用设置,扫描设置和扫描配置等。
(4)General(一般选项),主要是查看注册许可,程序更新,帮助文件等。
4.2使用WVS扫描网站漏洞
在WVS菜单中单击“new scan”打开扫描向导进行相关设置,如图3所示,一般来讲只需要在“Website URL”中输入扫描网站地址(http://testaspnet.vulnweb.com ),后续步骤选择默认即可。如果不想使用向导,可以单击“web scanner”,在“Start URL”输入网站地址即可进行扫描。
注意:
使用向导模式进行扫描时,AWVS程序会自动检测到网站有子域名和其它域名,可以勾选进行扫描,但如果扫描目标过多,有可能会导致AWVS程序崩溃。
4.3扫描结果分析
在扫描过程中如果发现是高危漏洞则会以红色圆圈中包含叹号图标显示,如图4所示。有四个高危的漏洞,发现9处盲注(Blind SQL Injection)、4处跨站,9个验证的SQL注入漏洞,一个Unicode传输问题;黄色图标显示为告警。
在WVS扫描结果对每一个漏洞进行验证,同时访问实际网站,虽然WVS自带有HTTP编辑器来对SQL注入进行验证,但自动化程度较低,当发现漏洞后,可以通过Havij、Pangolin等SQL注入工具进行注入测试,如图5所示。将存在SQL注入的地址放入Havij中进行注入测试。
4.4AWVS扫描小技巧
1.绕过WAF扫描
在文件头加以下内容可以绕过狗,waf等:
Mozilla/5.0 (compatible; Baiduspider/2.0; + http://www.baidu.com/search/spider.html )
2.适当减少扫描线程数
在“扫描设置”-“HTTP选项”-并行连接数量,这里是最大的并发连接数默认是10,可以改低为1-5,某些WAF对访问请求时间太快会进行拦截,可以进行延迟发包,在Delay between 默认是0,改为1-5,如图6所示。
3.可以使用预登录进行扫描
普通扫描仅仅扫描未登录的情况,对已经登录的有授权验证的模块无法进行扫描,在AWVS中需要事先对登录过程进行录制,后面扫描可以进行调用。
4.在配置中定制扫描
可以完善漏洞扫描库,对某些漏洞进行增加扫描识别。
4.5AWVS扫描结果处理思路
AWVS扫描结束后,可以通过菜单“File”中的“Save”或者工具栏中的保存图标保存本次扫描结果。最好保存格式为目标站点+时间,这样可以对比每次扫描结果,发现一些细微信息,对扫描结果处理思路主要有:
1.对sql注入漏洞处理
AWVS扫描到sql注入漏洞后,会以红色警告信息显示,可以通过其http编辑器进行编辑,将头文件保存为r.txt,通过sqlmap.py -r r.txt进行sql注入测试,也可以通过havij、pangonlin等注入攻击进行sql注入测试。AWVS扫描漏洞会给出(verified)确认,如图7所示,也就意味着这个漏洞是确实存在的,需要高度重视。
2.对源代码泄露处理
AWVS扫描到源代码有三种情况,一种是单文件bak类文件泄露,第二种是站点或者压缩文件源代码泄露,第三种是git/svn代码泄露漏洞。一旦发现源代码泄露,可以找到具体的泄露地址,通过浏览器进行实际访问测试,下载源代码进行分析和代码审计,寻找可以利用漏洞。git/svn代码泄露漏洞有专门的工具可以获取源代码。
3.对远程溢出漏洞处理
AWVS扫描到远程溢出漏洞,会在右边窗口给出详细的介绍,根据漏洞号或者提示信息,寻找可以利用的poc进行测试,有些显示溢出漏洞可能会导致测试系统崩溃,在测试时需要了解清楚。
4.对跨站漏洞处理
对于跨站漏洞可以通过一些跨站平台来获取管理员以及用户的信息,测试能否向更高级别转换。
5.对上传漏洞处理
存在编辑器,则可以对该编辑器进行确认,通过总结的编辑器漏洞进行逐个测试和利用。对于存在上传的地方进行各种上传漏洞的利用测试,推荐使用burpsuite进行抓包上传测试。
6.其它漏洞处理
根据其提示信息,到互联网寻找漏洞相关信息,搭建平台进行本地还原和测试。本地测试成功后,再在目标服务器上进行测试。
4.6AWVS扫描安全防范
1.通过程序自动进行判断
使用Acunetix Web Vulnerability Scanner扫描时会在user-agent中有AWVS的字段,程序判断存在这个字段就阻断IP。
2.WAF上设置防护
有些WAF防火墙会禁止一些大型或者流行扫描器对目标网站进行扫描。用安全狗服务器版本阻断,设置syn连接限制数,超过限制数以后直接拉黑。
3.对扫描存在漏洞进行修复
对扫描出来的明显漏洞进行修复,通过代码审计工具进行扫描及审计分析,降低被安全验证到风险。