技术交流,请勿用于违法途径,后果自负
一、环境:
sudoapt-get install git
Python 2.7,大部分的linux都默认安装
sudoapt-get install python-pip
二、安装步骤:
git clonehttps://github.com/andresriancho/w3af.git
cd w3af/
./w3af_console
./tmp/w3af_dependency_install.sh
如果有错误提醒:请参考一下解决办法。
cd w3af
修改w3af/core/controllers/dependency_check/requirements.py文件内容如下
PIPDependency('pybloomfilter','pybloomfiltermmap', '0.3.15'),
PIPDependency('OpenSSL', 'pyOpenSSL','16.2.0'),
PIPDependency('lxml', 'lxml', '3.7.1'),
修改文件
vim w3af/core/controllers/dependency_check/platforms/mac.py内容如下
MAC_CORE_PIP_PACKAGES.remove(PIPDependency('pybloomfilter','pybloomfiltermmap', '0.3.15')
到/tmp下生成需要安装的软件包文件shell脚本,再次执行此脚本
./tmp/w3af_dependency_install.sh
执行./w3af_console成功
三、插件简介
主要插件:
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”命令可以带一个参数,如果参数有效,则会显示该参数命令的详细帮助信息。
所有的插件配置菜单都提供了以下命令:
help:获得每个配置参数的详细帮助
view:列出所有可配置参数及其值和说明
set:用于更改值
back:返回上一个菜单,也可以使用Ctrl+C
配置插件——常规扫描的话,我们建议使用以下的配置运行w3af:
crawl类插件使用web_spider插件
audit类插件设置成Enable all
grep类插件设置成Enable all
输出扫描报告——output
不设置默认只会在console上输出扫描信息。
一般我们再加上输出csv_file(表格)和html_fiel(网页)两种格式的扫描报告。
扫描报告默认会保存在/root目录下,你可以使用out config命令去设置。
保存配置——profiles
设置目标,开始扫描——target,start
./w3af_console
w3af plugins //进入插件模块
w3af/plugins list discovery //列出所有用于发现的插件
w3af/plugins discovery findBackdoor phpinfo webSpider //启用findBackdoor phpinfo webSpider这三个插件
w3af/plugins list audit //列出所有用于漏洞的插件
w3af/plugins audit blindSqli fileUpload osCommandingsqli xss //启用blindSqlifileUpload osCommanding sqli xss这五个插件
w3af/plugins back //返回主模块
w3af target //进入配置目标的模块
w3af/config:target set target http://www.xxx.com/ //目标
w3af/config:target back //返回主模块
w3af start
(二)漏洞利用配置
w3af exploit //进入漏洞利用模块
w3af/exploit list exploit //列出所有用于漏洞利用的插件
w3af/exploit exploit sqlmap //使用sqlmap进行SQL注入漏洞的测试
//假设存在SQL注入漏洞
//这里要记住shell objects(这里是0),等一下要用到
(三)漏洞利用
w3af/exploit interact 0 //interact + shell object就可以利用了
w3af/exploit/sqlmap-0 //sqlmap的一个交互式模块
w3af/exploit/sqlmap-0 dbs
/
四、小结
w3af就介绍到这里,只是对这个工具做了一个大致的介绍,很多地方也都是点到为止,需要大家们在依照需求去挖掘他的用法。
领取专属 10元无门槛券
私享最新 技术干货