什么是AWVS

Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞,现已更新到10。(下面用的是AWVS9)

工具

Site Crawler

 
点击Start对所输入的URL进行爬取,但是有的页面需要登录,不登录有些文件爬不到,就可以选择可以登录的login sequence进行登录(login sequence在处Application Settings处详细说明),爬网结果可以保存为cwl文件,以便后续站点扫描使用。

Target Finder

 
可以指定IP地址段进行端口扫描(类似于Nmap),可以用与信息收集。 
进行了端口扫描后会进行服务发现,得到端口上对应的服务。

Subdomain Scanner

用DNS进行域名解析,找域名下的子域及其主机名(用于信息收集) 
可选择使用操作系统默认配置的DNS服务器或自定义的一个DNS服务器(谷歌:8.8.8.8) 

Blind SQL Injector

 
在相应参数位置按+添加注入点,让AWVS进行注入探测,可以dump有sql漏洞的数据库内容。

HTTP Editor

 
和BP repeater类似,可以进行手动漏洞挖掘探测。 
Enocoder tool中可以进行各种加密解密。

HTTP Sniffer

和BP proxy类似,首先要设置代理(Application Settings->HTTP Sniffer),截取数据包,修改数据包提交或者丢弃。 
利用代理功能进行手动爬网(保存为slg文件,在Site Crawler页面点击Build structure from HTTP sniffer log),得到自动爬网爬取不到的文件。

HTTP Fuzzer

 
类似于BP intruder,进行暴力破解,点击+选择类型,点击insert插入 
注意:插入字母的时候选取字母的范围填写的是字母对应的ASCII码。

Authentication Tester

 
认证测试,用于尝试破解破解账户密码。 
基于表单的认证方法要点击Select 选择表单的哪一部分是用户名,那一部分是密码。

Compare Results

可以用不同用户登录后结果进行比较,和BP Compare类似。

Configuration

Application Settings

程序本身的设置 
 
Client Certifications:

有些Web Application需要客户端证书才能进行扫描。 
Login Sequence Manger:

类似于把登陆过程进行录像,下面进行制作Login Sequence : 
1、首先输入一个要进行登录的URL,点击Next 
2、类似于使用浏览器,输入用户名和密码: 
 
3、点击登录过程中的限制(如退出链接常需要限制); 
4、输入验证登录成功或失败的标志; 
5、Review 
(AVWS站点扫描中可以选择login sequence、在Site Crawling处也可以选择login sequence)

AcuSensor Deployment:

要在服务器端布置angent进行扫描的一种独特的扫描方式

AcuSensor Deployment指明如何部署angent到服务端,

点击生成AcuSensor后可以将对应的文件放置到服务器,放置到服务器后要更改文件的属主和属组:

修改.htaccess或php.ini使得agent在服务器上部署生效,这里改php.ini的auto_prepend_file为上述文件路径:

php_value auto_prepend_file ‘[path to acu_phpaspect.php file]’

保存修改后需要重启apache服务

通过awvs作为客户端连接agent:

测试AcuSensor输入password:

输入url:

配置成功时有如下响应:

就可以在扫描的时候使用:

点击New Scan,在AcuSensor Setup处设置:

选择好后再进行的扫描就是利用AcuSensor的一种灰盒的方式进行扫描。

Scan Settings

 
Google hacking database基于搜索引擎的信息收集:谷歌黑客数据库,但需要设置代理(LAN Settings)。

Web services

AWVS对Web Service也可以进行扫描。

对于AWVS最常用的应该就是站点扫描了

站点扫描

1、点击New Scan 
 
如上述Site Crawler保存的cwl文件可以用在这里。

2、点击扫描配置就是Scan Setting页面

3、发现目标服务器基本信息

4、是否需要登录,可以使用login sequence

5、finish,扫描结果可以保存为wvs文件,还能把结果制作成报表

 
扫描的结果能看到发现漏洞所用的payload,对应的HTTP头信息、HTML、可发送到HTTP Editor中等……

AWVS使用基础教程的更多相关文章

  1. matlab基础教程——根据Andrew Ng的machine learning整理

    matlab基础教程--根据Andrew Ng的machine learning整理 基本运算 算数运算 逻辑运算 格式化输出 小数位全局修改 向量和矩阵运算 矩阵操作 申明一个矩阵或向量 快速建立一 ...

  2. <<Bootstrap基础教程>> 新书出手,有心栽花花不开,无心插柳柳成荫

    并非闲的蛋疼,做技术也经常喜欢蛋疼,纠结于各种技术,各种需求变更,还有一个很苦恼的就是UI总是那么不尽人意.前不久自己开源了自己做了多年的仓储项目(开源地址:https://github.com/he ...

  3. Memcache教程 Memcache零基础教程

    Memcache是什么 Memcache是danga.com的一个项目,来分担数据库的压力. 它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash ...

  4. Selenium IDE 基础教程

    Selenium IDE 基础教程 1.下载安装     a 在火狐浏览其中搜索附件组件,查找 Selenium IDE     b 下载安装,然后重启firefox 2.界面讲解      在菜单- ...

  5. html快速入门(基础教程+资源推荐)

    1.html究竟是什么? 从字面上理解,html是超文本标记语言hyper text mark-up language的首字母缩写,指的是一种通用web页面描述语言,是用来描述我们打开浏览器就能看到的 ...

  6. 转发-UI基础教程 – 原生App切图的那些事儿

    UI基础教程 – 原生App切图的那些事儿 转发:http://www.shejidaren.com/app-ui-cut-and-slice.html 移动APP切图是UI设计必须学会的一项技能,切 ...

  7. 【Unity3D基础教程】给初学者看的Unity教程(四):通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider2D

    作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 在第一篇文章[Unity3D基础教程] ...

  8. oracle基础教程(8)oracle修改字符集

    oracle基础教程(8)oracle修改字符集 1.用dba连接数据库 -->sqlplus / as sysdba 2.查看字符集 -->SELECT parameter, value ...

  9. 改写《python基础教程》中的一个例子

    一.前言 初学python,看<python基础教程>,第20章实现了将文本转化成html的功能.由于本人之前有DIY一个markdown转html的算法,所以对这个例子有兴趣.可仔细一看 ...

随机推荐

  1. C语言程序设计:现代方法(第2版)第二章全部习题答案

    前言 本人在通过<C语言程序设计:现代方法(第2版)>自学C语言时,发现国内并没有该书完整的课后习题答案,所以就想把自己在学习过程中所做出的答案分享出来,以供大家参考.这些答案是本人自己解 ...

  2. 我和Python的Py交易》》》》》》函数

    一 函数是什么?  是数学中的函数? Python中 函数是指将一组语句的集合通过一个名字(函数名)封装起来的一段代码.(所以这里的函数是subroutine子程序) 那要函数干嘛.不都是代码吗?只不 ...

  3. JVM基础知识及拓展

    我们可以吧JVM的基本结构分为四块:类加载器.执行引擎.运行时数据区和本地接口.一般来说Java程序在JVM中的执行流程如下: ①.首先我们会利用javac命令将我们所编写的.java源代码文件变异成 ...

  4. CLR via c#读书笔记九:接口

    1.接口对一组方法签名进行了统一命名.接口还能定义事件.无参属性和有参属性(C#的索引器). 2.c#禁止接口定义任何一种静态成员. 3.C#编译器要求将实现接口的方法标记为public.CLR要求将 ...

  5. Python 获取windows管理员权限办法

    from __future__ import print_function import ctypes, sys, os def is_admin(): try: return ctypes.wind ...

  6. nodejs 事件机制

    node 事件机制   一 三种定时器 NodeJS中有三种类型的定时器:超时时间.时间间隔.即时定时器 1.超时时间:setTimeout(callback,delayMilliSeconds,[a ...

  7. 一次简单的C++编译错误

    快要下班的时候,开发部的一名小鲜肉找我帮忙解决一个问题: 才哥,我们提供给计费组的库在计费主机上编译报错了,但是提供给其他组用时没有编译报错.计费也不认,说编译器报的是我们代码上的错误,要我解决,帮我 ...

  8. sqlserver 循环赋值变量

    sql server 是可以用 @变量 +=值的: 第一:必须在循环里面, 第二: 必须在循环外面初始化变量的值 如:  @变量=''; 这样才能循环给值

  9. js如何判断客户端是iOS还是Android等移动终端

    判断原理:JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来 ...

  10. mysql数据库常用操作

    目前最流行的数据库: oracle.mysql.sqlserver.db2.sqline --:单行注释 #:也是单行注释 /* 注释内容*/:多行注释 mysql -uroot -p密码:登录mys ...