[译]w3af指南(三)

58 篇文章 1 订阅
50 篇文章 0 订阅
原文地址:http://resources.infosecinstitute.com/w3af-tutorial-3/

本文将继续介绍前文剩下的插件。本文继续使用前文使用的Web Security Dojo虚拟机,下载地址:[url]http://sourceforge.net/projects/websecuritydojo/files/[/url]

[b]1)Brute force[/b] - Brute force 插件可以用于暴力破解登录表单和http-auth login。当discovery插件发现基于表单的输入或http-auth输入时,如果配置了适当的暴力破解插件,它会自动创建暴力破解。然而,暴力破解可以作为一个单独的模块运行用以攻击某一个含有login表单的url。配置暴力破解插件的参数很重要。由于暴力破解很花时间,所以自己定夺。
[img]http://dl2.iteye.com/upload/attachment/0101/4177/2d196576-f51c-3b44-892a-a4e6975cfb0d.png[/img]
建议使用自定义的username和passwd字典。不管怎样,w3af有一套自己包含的默认username和passwd字典。同时注意查看其他选项。useProfiling使用通过passwordProfiling插件生成的密码作为字典。passwordProfiling插件是grep插件中的一个,用于通过检查相应和计算最有可能的单词而生成一系列可能的密码。profilingNumber指明用于暴力破解的来自passwordProfiling生成的密码个数。useLeetPasswd使用leet密码来进行破解。一个leet密码的例子是l33t(对应leet)。另一个可配的参数是useMails。这个参数是使用w3af(或许是grep插件)发现的邮箱作为login表单user域。一个username的例子是example@infosecinstitute.com,w3af将会尝试使用example作为username。这是另一个w3af内部交互的例子。
本例中我们将使用暴力破解插件来破解如下url。
[img]http://dl2.iteye.com/upload/attachment/0101/4197/5afe9221-507f-3801-8495-10e435e527d9.png[/img]
设定login表单的url,使用formAuthBrute插件,根据你的需要配置参数,开始攻击。
[img]http://dl2.iteye.com/upload/attachment/0101/4199/d5a03d4e-802f-3d32-ad35-e73f5feec109.png[/img]
从输出可以看到w3af发现了username和password为admin/1234
[img]http://dl2.iteye.com/upload/attachment/0101/4201/eb5b4fe8-027d-3f36-8036-14342e8ecbc6.png[/img]
然而,通常的暴力破解不是这样的。w3af以及许多其他的工具可能会有误报。不同的工具使用不同的方法来确认一次破解是否成功。一些工具通过查抄特定的字符串诸如“successful”或者“logged in”等来决定破解是否成功。然而一些工具根据相应码来确定。这些通常都会导致误报,因为有些web程序无论登录是否成功都会返回HTTP Status Code 200.一些web程序使用200作为一个标准所以会产生误报。web程序的应答中的细微差异就可以决定他们是登录成功。例如把DVWA配置为Security Level “High”的话,登录成功与否的区别就是返回的字符串的长度不一样(BurpSuite)。
[img]http://dl2.iteye.com/upload/attachment/0101/4203/9320f973-9f62-36a5-851f-41f5c4daba64.png[/img]
即使返回登录成功与否返回的http stataus code一样。所以不要在乎工具说的登录成功。相反我们应该调查这两种情景,查找他们的去别。
[b]2)Grep[/b]-grep插件用来查找请求/应答中的有价值的信息,例如email账户,可以上传文件的表单,哈希,信用卡号,email地址等。可以通过设置适当的插件类来获取感兴趣的信息。由于grep插件只是分析请求/应答,所以需要discover插件配合它工作。否则grep插件毫无用处。grep插件获得的信息可以被其他插件使用,例如通过passwordProfiling获得的信息可以被bruteForce使用。
做一个grep插件的简单实验。从测试环境中,我们设定给w3af设定一个含有信用卡号的url,如下图所示。从grep插件列表,选择creditCards,开始运行。
[img]http://dl2.iteye.com/upload/attachment/0101/4207/2789d751-e1d8-3f04-8cdc-ff67d51ed121.png[/img]
从下图可以看到,我们找到了信用卡号
[img]http://dl2.iteye.com/upload/attachment/0101/4209/33ad62e5-7122-3750-adea-70ff62092593.png[/img]
下面介绍一些重要的插件
[color=blue][b]a)Code Disclosure[/b][/color]-这个插件检查代码泄漏漏洞。它通过检查表达式以及<%.*%> 这些可能泄漏服务器端诸如php之类的代码。下图显示了一个代码泄漏的漏洞。
[img]http://dl2.iteye.com/upload/attachment/0101/4211/6a8b6680-5028-3926-8a80-999b4f1db193.png[/img]
然而,确认结果是否是误报也很重要。分析导致某一个漏洞的请求和应答很重要。如下图所以,有一个代码泄漏漏洞。
[img]http://dl2.iteye.com/upload/attachment/0101/4214/22f80c6b-072a-3aa4-9417-e6fdaacb97f0.png[/img]
[color=blue][b]b)DOM Based XSS[/b][/color]-DOM based XSS插件用于帮助寻找XSS漏洞。当user输入作为DOM里面的输出数据是这种情况就会发生。如下图所示,通过查找参数名,然后输出那个参数名。然而,我们可以从代码里面看到,那个参数并不合法。所以这是一个DOM Based XSS。
[img]http://dl2.iteye.com/upload/attachment/0101/4216/69fcd1ae-e811-3c73-82c6-e266eca368ea.png[/img]
当我们选择这个插件并且开始测试的时候,我们可以看到w3af发现了DOM based XSS漏洞
[img]http://dl2.iteye.com/upload/attachment/0101/4218/12596fb3-c43d-39a0-83c0-3a50e14f4740.png[/img]
再次强调,检查请求/应答来确定是否是误报很重要。
[img]http://dl2.iteye.com/upload/attachment/0101/4220/769c18a7-9856-3872-8c86-a982cbd69886.png[/img]
[b][color=blue]c)findComments[/color][/b]- findComments插件用于检查应答中的有价值的注释。例如字符串中含有“password”字样的将会标记为有价值的信息,并且输出。
[b][color=blue]d)getMails[/color][/b]-这是一个非常重要的grep插件。他在每一个页面里面搜索Email地址。这些信息可以被暴力破解插件使用。在渗透测试中收集邮件是信息收集中一个重要的组成部分。
[b][color=blue]e)fileUpload[/color][/b]-这个插件查找每一个页面是否有上传文件的功能,然后可以用于文件上传漏洞。下图显示在一个有文件上传功能的页面运行fileUpload插件的结果。
[img]http://dl2.iteye.com/upload/attachment/0101/4223/42787adc-10fe-3131-8d50-c7ed311aa479.png[/img]
[color=blue][b]3)Evasion[/b][/color]- Evasion插件被用于修改请求用来绕过WAF或IPS等。它通过特定的方法修改请求来使IPS无法检测它的数字签名。下面是Andres Riancho(w3af的作者)的话:
[color=red][b][i]使用evasion插件时,我推荐一次仅适用一个插件。并且只有当你十分了解你在做什么的时候再使用,因为他们可能破坏扫描,使扫描不稳定[/i][/b][/color]。
我们来看看一些Evasion插件如何工作。
[b][color=blue]a)backSpaceBetweenDots[/color][/b]-这个插件用于绕过对'..'的过滤。它通过在一个"."后面加一个字符然后再在后面加一个退格字符(%8)来实现的。这样退格字符可以删除"."后面的字符,所以剩下的只有".."。这个插件可以用于本地文件包含或远程文件包含漏洞。
[color=blue][b]b)ShiftOutShiftInBetweenDots[/b][/color] – 这个插件类似backSpaceBetweenDots,并且用于绕过“..”过滤。它通过shift-in (%0E)和shift-out (%0F)删除不必要的字符。
[color=blue][b]c)rndHexEncode[/b][/color] – 这个插件通过在url中使用随机十六进制编码来增加WAF/IPS识别的难度
[b]4)Mangle[/b] - 这个插件用于根据正则表达式来修改请求或应答。有三个主要参数,Expressions, fixContentLen 和priority。在表达式选项中,我们声明请求/应答修改的规则。下图显示了两个使用Stream editing表达式的例子。
[img]http://dl2.iteye.com/upload/attachment/0101/4225/95c782e2-7a80-3073-a6d6-60316ad5cb5d.png[/img]
下图所示,把w3af配置为把应答中的google替换成Poogle。
[img]http://dl2.iteye.com/upload/attachment/0101/4227/85aa5f05-59ad-31a0-b92c-b50a039e086e.png[/img]
[color=blue][b]5)Output[/b][/color]-output插件用于帮我们生成各种输出格式的报告。w3af支持控制台,邮件,html,xml,text等格式的报告。可以设置文件名,verbosity等。在下图我在htmlFile插件中设置verbose为True因为我想得到一份详细的测试报告。
[img]http://dl2.iteye.com/upload/attachment/0101/4229/b5664c13-413b-35d0-aa1b-9be9c3a139f8.png[/img]
[b]6)Auth[/b]-auth插件是w3af里面非常重要的一个插件。所以及时更新版本很重要,因为每一次release可能有bug修复和性能增加。w3af中的auth插件的主要用途是当爬虫一个web程序时,处理一个login表单。作为一个优秀的扫描器,应该可以自动提交表单信息从而进一步扫描信息。通过使用这个插件,我们可以使用预先知道的username/password,这样当w3af遇到表单时会自动填充表单,我们需要设置插件的所有参数才能是它正常工作。
下图是使用w3af成功登录dvwa
[img]http://dl2.iteye.com/upload/attachment/0101/4231/0d54c25c-8962-3cd2-bab4-7a66e4450d96.png[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【为什么要学习这门课程?】 本课程的主要目标不是执行恶意危害,而是为您提供逐步的指导,以便您可以学习道德白帽、渗透测试和安全态势评估,因为它与web应用程序有关。通过本课程教授的技能,您将了解到许多前沿危害安全技术相关的各种概念。课程包含多媒体教程和动手演示,用户可以适用于真实场景,并且网络安全资深专家奥马尔·桑托斯为感兴趣的人提供了一些关键建议,包括如何成为一个职业道德白帽,或仅仅是跟上不断变化的漏洞威胁,让你或你的客户网络的web应用程序更加安全。【课程亮点】 1、通过课程学习帮助您学习道德白帽、渗透测试和安全态势评估,包括危害、分析和减轻web应用程序漏洞的方法,2、将展示如何为网络应用测试建立一个渗透测试实验室,你将学习如何执行侦察和分析。 3、您将了解如何利用多种漏洞,包括身份验证、会话管理、基于注入的方法、跨站点脚本编写、跨站点请求伪造和它们的加密实现。 【讲师介绍】  Omar Santos(奥马尔·桑托斯)—— 思科PSIRT首席工程师、作家Omar Santos(奥马尔·桑托斯)是思科产品安全事件响应团队(PSIRT)的首席工程师,指导和领导团队工程师和事件经理对安全漏洞进行调查和解决。桑托斯著有20多本网络安全方面的专著,在全球拥有大量读者,他制作的大量白皮书、文章、安全配置指南等相关内容被大量媒体引用,如《共和报》、《连线》、《ZDNet》、《网络独家新闻》、《TechCrunch》、《财富》、《Ars Technica》等等。同时,他还是网络安全社区的一名活跃成员,他参与很多重要行业的网络安全倡议和标准制定。他还会积极帮助企业、学术机构、州和地方执法机构,提高关键基础设施的安全性。【课程收获】 1、评估你需要知道的一切,以执行道德白帽和渗透测试的web应用程序2、了解web应用程序协议、HTTP请求/响应、会话管理和cookie、DevOps、云服务、web应用程序框架和Docker容器,以便更好地评估web应用程序的漏洞3、构建自己的web应用程序实验室进行渗透测试4、通过几种技术和应用程序对web应用程序进行配置和执行被动和主动侦察5、利用身份验证和会话管理职责 6、利用并减轻基于注入的命令、SQL和XML漏洞7、利用和减轻跨站脚本危害(XSS)和跨站请求伪造(CSRF)漏洞8、利用和减轻密码漏洞 9、理解和测试api以减轻web应用程序危害10、理解并减轻客户端、HTML5和AJAX的漏洞11、检查可以利用(并保护)web应用程序漏洞的其他途径【面向人群】1、所有开始从事职业白帽和渗透测试工作的网络安全专业人员 2、准备考取CompTIA PenTest+,道德白帽认证(CEH),危害安全专家认证(OSCP),以及其他道德白帽认证的人3、任何想要学习成为道德白帽所需技能的网络安全专业人员,或者想要学习更多关于一般安全渗透测试方法和概念的网络安全专业人员

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值