上期斗哥已经为大家介绍了w3af扫描器的安装。本期,我们将学习如何使用w3af进行扫描。开始扫描任务在本文第四部分,如果你第一次使用w3af,建议从第一部分开始阅读。
一、插件简介
主要插件:
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有两个界面,控制台界面和图形化界面,为了更容易的理解w3af的功能,我们将介绍在控制台上运行w3af的方法。
到w3af的安装目录下运行如下指令,即可开启控制台界面
$ ./w3af_console
w3af>>>
通过”help“命令查看帮助信息,“help”命令可以带一个参数,如果参数有效,则会显示该参数命令的详细帮助信息。
所有的插件配置菜单都提供了以下命令:
help:获得每个配置参数的详细帮助
view:列出所有可配置参数及其值和说明
set:用于更改值
back:返回上一个菜单,也可以使用Ctrl+C
三、插件配置
除了攻击插件之外,所有插件都可以使用plugins这个配置菜单进行配置。
下面是列出Audit(审计)类型的所有插件:
假设要启用xss和sqli插件,需要用到以下命令:
我们可以在audit中看到Status为Enabled。
如果带上desc命令,还会显示这个插件的详细信息。
查看xss插件的配置菜单。
在配置菜单可以使用view列出配置参数和值说明也可以使用set进行修改,如修改True为false:
保存配置:
配置好了插件和框架配置就可以将配置保存在配置文件中。
四、开始扫描
配置插件——常规扫描的话,我们建议使用以下的配置运行w3af:
crawl类插件使用web_spider插件
audit 类插件设置成Enable all
grep类插件设置成Enable all
配置命令如下:
插件状态:
输出扫描报告——output
不设置默认只会在console上输出扫描信息。
一般我们再加上输出csv_file(表格)和html_fiel(网页)两种格式的扫描报告。
扫描报告默认会保存在/root目录下,你可以使用out config命令去设置。
保存配置——profiles
设置目标,开始扫描——target,start
这边使用Web For Pentester作为漏洞靶场例子。
w3af>>> target
w3af/config:target>>> set target http://ip/
w3af/config:target>>> back
w3af>>> start
在console上输出:
下面是扫描报告,csv格式:
html格式:
四、小结
w3af入门篇就介绍到这里了,w3af的强大之处就在于他的插件数很多,需要灵活的利用。下期咱们将带来w3af的高级用法,包括脚本扫描,登陆扫描等其他高级技巧。
网友评论