一、插件简介
主要插件:
1.Crawl(爬取)类
职责:通过爬取网站站点来获得新的URL地址。
如果用户启用了Crawl类型的多个插件,此时将产生一个循环: A插件在第一次运行时发现了一个新的url,w3af会将其发送到插件B。如果插件B发现一个新的url则会发送到插件A。这个过程持续进行直到所有插件都已运行且无法找到更多的新信息。
2.Audit(审计)类
该类插件会向Crawl插件爬取出的注入点发送特制的POC数据以确认漏洞是否存在。
3.Attack(攻击)类
如果Audit插件发现了漏洞,Attack将会进行攻击和利用,通常会在远程服务器上返回一个shell或者比如SQL注入则会获取数据库的数据。
其他插件:
1.Infrastructure(基础)插件
这类插件用来标识有关目标系统的信息,如安装的WAF,操作系统和HTTP守护进程等。
2.Grep(检索)插件
这类插件会分析其他插件发送的HTTP请求和相应并识别漏洞。
3.Output(输出)插件
这类插件会将插件的数据保存到文本,xml或者是html文件中。调试的信息也会发送到输出Output插件并可保存和分析。
如果启用了text_file和xml_file这两个Output插件,则这两个都会记录有Audit插件发现的任何漏洞。
4.Mangle插件
允许修改基于正则表达式的请求和响应。
5.Broutforce插件
在爬去阶段进行暴力登陆。
6.Evasion(绕过)插件
通过修改由其他插件生成的HTTP请求来绕过简单的入侵检测规则。
二、运行w3af
`w3af_console --开启控制台界面`
通过”help“命令查看帮助信息,
help命令可以带一个参数,如果参数有效,则会显示该参数命令的详细帮助信息。
![](http://image.3001.net/images/20170904/15045054202931.png!small)
所有的插件配置菜单都提供了以下命令:
~~~
help:获得每个配置参数的详细帮助
view:列出所有可配置参数及其值和说明
set:用于更改值
back:返回上一个菜单,也可以使用Ctrl+C
~~~
三、插件配置
除了攻击插件之外,所有插件都可以使用plugins这个配置菜单进行配置。
下面是列出Audit(审计)类型的所有插件:
![](http://image.3001.net/images/20170904/15045054327270.png!small)
假设要启用xss和sqli插件,需要用到以下命令:
![](http://image.3001.net/images/20170904/15045052727697.png!small)
我们可以在audit中看到Status为Enabled。
![](http://image.3001.net/images/20170904/15045054521066.png!small)
如果带上desc命令,还会显示这个插件的详细信息
![](http://image.3001.net/images/20170904/15045054614304.png!small)
查看xss插件的配置菜单。
![](http://image.3001.net/images/20170904/15045054784957.png!small)
在配置菜单可以使用view列出配置参数和值说明也可以使用set进行修改,如修改True为false:
![](http://image.3001.net/images/20170904/15045054864743.png!small)
保存配置:
配置好了插件和框架配置就可以将配置保存在配置文件中。
![](http://image.3001.net/images/20170904/15045055229410.png!small)
四、开始扫描
配置插件——常规扫描的话,我们建议使用以下的配置运行w3af:
crawl类插件使用web_spider插件
audit 类插件设置成Enable all
grep类插件设置成Enable all
配置命令如下:
![](http://image.3001.net/images/20170904/1504505549611.png!small)
插件状态:
![](http://image.3001.net/images/20170904/15045055651698.png!small)
![](http://image.3001.net/images/20170904/15045055762896.png!small)
![](http://image.3001.net/images/20170904/1504505585670.png!small)
输出扫描报告——output
不设置默认只会在console上输出扫描信息。
一般我们再加上输出csv_file(表格)和html_fiel(网页)两种格式的扫描报告。
![](http://image.3001.net/images/20170904/15045058779020.png!small)
扫描报告默认会保存在/root目录下,你可以使用out config命令去设置。
保存配置——profiles
![](http://image.3001.net/images/20170904/15045058685615.png!small)
设置目标,开始扫描——target,start
~~~
w3af>>> target
w3af/config:target>>> set target http://ip/
w3af/config:target>>> back
w3af>>> start
~~~
本文引用自FreeBuf专栏:潜心学习的小白帽,作者:漏斗社区
原文地址:http://www.freebuf.com/column/146469.html