[译]w3af指南(四)

原文: http://resources.infosecinstitute.com/w3af-tutorial-4/
之前的文件我们学习了w3af中的插件以及他们的应用场合。本文,我们将学习一些w3af中附带的其他工具,他们可以帮助我们发送Manual Requests,进行Fuzzing,加密/解密请求和应答,使用代理截获/修改请求/应答,以及允许我们进行不同的HTTP请求/应答的比较。然后学习如何写自动化测试脚本。最后了解一下w3af中现有的配置。
1) Manual Request -Manual Request特性允许我们发送伪造的请求然后分析应答。这种技术可以用来进行各种测试,包括SQLi,XSS等。可以通过下图找到这个工具。点击Manual Request打开Manual Request编辑工具

然后可以编辑请求,发送,分析应答。从下图可以看到,我发送了一个请求到http://google.com.同时,你也许想改变User-Agent,那样请求看起来就不是w3af发送的了。


点击Send Request发送请求。然后,显示应答。可以简单的分析应答或发送给w3af的其他工具。

也可以通过点击相应的button把从扫描的结果中把请求发送给Manual Request编辑器。这个方法同样适用于Encoder/Decoder,Fuzzy请求编辑器,以及到处请求等。

2) Fuzzy Request - The Fuzzy Request特性允许我们通过不同的请求发送各种数据,来分析他们的响应。

上图所示的fuzzy请求编辑器.在$符间添加不同的文本。从上图中很容易看到不同的数据有语法“$xrange(10)$”决定的,它表示0-9之间的数字。当使用两个文本生成器时,请求会连接。例如一个文本生成器产生5个值,另一个产生6个值,那么他们一共产生30个值。下图显示一些常用语法。

我们写好生成器之后,我们可以点击Analyze来分析fuzzy阶段产生的请求。可以看到到底发送了什么请求。

点击play按键来发送请求。可以通过Response标签分析响应。

收到应答后,可以把应答分组。有不同的方法来分组。区分标准响应和fuzzy的响应是Fuzzy测试中很重要的一步
下图是根据HTTP应答体的Levenshtein distance来分组的。w3af允许你自己定制方法。


3) Encode/Decode - The Encode/Decode工具用来编解码字符串,url等。可以选择各种编解码选项。如下图所示,使用的是base64.


4) Export Requests - The Export Requests允许我们使用不同语言生成代码,然后重新发送请求。下图所示,生成python代码,然后从新生成原始请求。这个工具允许生成HTML, Ajax, Python and Ruby代码


5) Compare - The Compare工具用于在两个请求/应答之间做比较。如下图,往比较工具发送了两个不同请求的应答。应答的不同之处高亮显示。


6) Proxy - w3af支持使用代理截获请求,然后修改他们。为了使用代理,我们需要配置浏览器来支持代理。现实生活中的渗透测试,拦截我们想拦截的请求是很重要的。下图显示代理的配置。可以看到运行在8080端口。同时我们也要告诉代理当遇到图片,css文件或swf文件是不要拦截请求

配置浏览器


然后开始使用浏览器。可以看到请求/应答显示在下图的History标签中。现在请求/应答是没用拦截地通过代理。

可以把请求/应答发送到Manual Request编辑器,如下图。点击左上角的箭头开始拦截请求,发现请求被代理拦截

可以Drop请求,这样的话,它不会到达目的地址,转发或者修改完之后在转发。例如下图,我们看到查询的字符串是w3af,我们可以简单的把它变为任何我们想搜的字符串。代理的另一些用途是可以用来找到login时发送的参数名。



w3af scripting
w3af支持脚本可以用来避免每次扫描的时候重复配置相同的配置。脚本以.w3af结尾。把一些w3af命令写入脚本。

开始编写脚本


保存为simple-config.w3af文件,使用w3af_console -s simple-config.w3af命令运行


从下图可以看到输出,我们可以自己设置target,然后开始扫描。


w3af profiles
w3af配置文件是一个为某一个场合预定义使用的配置文件,根据时间来选择不同配置文件按。我们也可以自己创建配置文件。w3af提供了一些配置文件,如下图所示。



1) OWASP_TOP10-扫描OWASP定义的top10漏洞.
2) audit_high_risk- 扫描高危漏洞,例如OS commanding这些可以完全拿下网站的漏洞
3) bruteforce- 用来对web程序进行暴力破击
4) fast_scan- 用来快速扫描web程序。它只使用了webSpider插件,使用插件越多,花的时间就越多。
5) full_audit- 用于全面审计web程序. 它启动了大部分的审计,暴力破解以及有价值信息抓取的插件.类似于fast_scan配置,它使用webSpider插件作为爬虫
6) full_audit_manual_disc - 类似于 full_audit配置, 但是它同时使用了SpiderMan来进行手动web爬虫.SpiderMan和webSpider互相通信来找到尽可能多的信息。
7) sitemap- 使用不同的discovery插件例如robotsReader,yahooSiteExplorer等来创建sitemap
8) web_infrastructure- 使用一些discovery插件,例如fingerprint_os, hmap, serverHeader来获得系统指纹.

猜你喜欢

转载自j4s0nh4ck.iteye.com/blog/2121965
AF