`

[译]w3af指南(一)

 
阅读更多
原文出自:
http://resources.infosecinstitute.com/w3af-tutorial/

w3af (Web Application audit and attack framework)是一个web安全审计框架。本文将学习w3af的大部分特性以及如何使用它进行web渗透测试。
[注]原文写于2012年。最新的w3af是1.6.0.5的使用方法与原文有些出处。

w3af的特点:
1. 它的插件之间互相通信。例如w3af的discover插件用于寻找需要进行渗透测试的url,并且把它传送给audit插件,而audit插件则用于查找安全漏洞。
2. 通过它的Fuzzy和手动请求生成器它减少了手动web测试中的一个难题。它可以被配置为MITM代理。截获的请求被送到请求生成器然后通过使用各种变量,可以实现手动web测试。
3. 它还包含利用它发现的漏洞进行攻击的特性。
要知道没有完美的自动化web扫描器,并且总会有误报发生。使用w3af首先要确认的是使用的是最新版本。因为w3af的dev team总是不停的修复bug。要使用w3af,使用如下命令:


w3af可能会让你更新版本。建议总是使用最新版本。输入help命令来查看所有可以使用的命令


我们可以看到所有可以使用的选项。输入keys命令来查看我们可以使用的快捷键。推荐熟悉这些快捷键。


现在看看w3af中的插件。输入pluging,可以看见控制台的输出变成了w3af/plugins。输入back退回到上一级或help显示可以使用的插件。
要想了解一个指定的插件,输入help pluginName。例如如果我想了解discover插件,我要输入help discovery。
我们可以看到一共有9种插件:
1)Discovery-discovery插件用于查找被用于漏洞扫描的更多的urls,forms等待。这些信息然后传送到aduit插件。有很多不同的discovery插件,例如webSpider,spiderMan,hmap等。所有这些插件各不相同。用户可以一次选择一个或多个插件。
想要查看discovery插件,输入discovery命令
要想查看一个指定插件的信息,pluginType desc pluginname命令。例如我想知道关于spiderMan的更多信息,我会使用命令discovery desc spiderMan

值得注意的是从上图可以看到spiderMan有两个可以配置的参数。
这里有一些有用的命令:
1) discovery pluginType1, pluginType2 – 选择两个插件.
2) discovery all- 使用所有插件(不推荐,它会花费很长时间)
3) discovery !all – 删除选中的所有插件
4) list discovery enabled – 显示所有选中的插件
现在我们运行一个discovery插件。我将会使用hmap插件来了解目标机器的服务器版本。从下图可以看到,我选中了hmap插件。

然后设定目标主机。输入back命令返回,然后输入下面的命令来设置目标。正如我们看到的,通过set target target-address来设定目标。

然后,输入back命令退回,输入start命令启动plugin。正如我们可以看到,w3af发现了目标机的apache版本以及php。

2)Audit-Audit插件用于发现由discovery插件提供的url/forms中的漏洞。这是w3af的内部插件之间的通信.audit插件提供测试不同类型的漏洞,例如xss,sqli,csrf等。它通过在请求中注入不同的字符串,然后查找应答中特定的值来实现。可能出现误报。如果我想使用sqli插件,我会使用如下的命令。

同样,我可以针对不同插件设置不同的参数。下图所示,我可以设置xss审计插件的检查次数。

3)Grep – grep插件用于查找在请求/应答中的有用的信息,例如email账户,hash,信用卡号等。可以选择适当的设置查找你感兴趣的信息。由于grep插件仅仅分析请求/应答,所以必须选择discovery插件。否则grep插件毫无用处。下图所示,我使用了getMails插件。

4)Brute force – 暴力破解插件可以用于暴力破解诸如http认证中的login forms。一旦discovery插件查找到任何基于form的输入或者http认证,它将会自动创建暴力破解(如果使用了暴力破解插件),了解暴力破解插件的参数很重要。

推荐使用自己的usernames/password配置文件。同时应该注意其他参数。如下图所示,我设置passEqUser为false因为我不认为用户名不会把密码设置和用户名相同。

另一个好的参数是useMails选项。这个选项使用w3af发现的mail地址作为一个username的输入。例如一个mail地址是example@infosecinstitute.com,那么example可能是username。这同样是不同插件之前交互的一个例子。
5)Output - 输出插件用于设置输出格式。w3af支持多种格式,例如控制台,邮件报告,html,xml,text等。这里可以设置注入文件名,verbosity之类的参数。下面的配置中,我把verbose设置为true,因为我想要一个非常详细的测试报告。

6)Mangle – mangle插件用于改变请求应答。它只有一个叫sed的插件(Stream editor),用来通过不同的正则表达式改变请求/应答。表达式应该有特定的格式,usage里面有详细说明。

7)Evasion- evasion插件使用各种技术绕过waf。例如rndHexEncode选择随机的把url编码成十六进制来绕过检测,而fullWidthEncode把url全部编码来绕过http content扫描系统。

8)Auth – auth插件是w3af中最重要的插件之一。它只有一类叫做generic。这个基本是由于爬虫一个web网站,如果w3af发现一个login 认证form,它需要提交表单信息然后才能继续。通过使用这个插件,我们可以设定预先知道的username/passwd,使w3af正常工作。我们需要设置参数来是w3af正常工作。
下图我通过设置来使w3af成功登录到位于http://10.0.1.24/dvwa的dvwa

  • 大小: 23.9 KB
  • 大小: 220.4 KB
  • 大小: 88.3 KB
  • 大小: 321 KB
  • 大小: 174.5 KB
  • 大小: 182.6 KB
  • 大小: 202.7 KB
  • 大小: 121.4 KB
  • 大小: 145.1 KB
  • 大小: 114.3 KB
  • 大小: 416.6 KB
  • 大小: 403 KB
  • 大小: 147.8 KB
  • 大小: 262.1 KB
  • 大小: 357.2 KB
  • 大小: 506.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics