本期带来w3af的高级使用,包括认证扫描,页面爬取和漏洞利用等几个部分。
一、认证扫描
w3af支持如下4种认证类型:
HTTP Basic authentication
NTLM authentication
Form authentication
Setting an HTTP cookie
HTTP 基础认证和NTLM是由WEB服务器提供的http级别身份验证,通常网站的登录验证则是使用表单验证或者Cookie身份验证的方法。我们着重学习如何使用表单验证的方式。
1.1 表单验证
表单验证w3af有如下两种插件可供使用。
detailed
generic
身份验证插件负责在整个扫描过程中保持会话的有效性,w3af会在扫描开始前和扫描过程中每5秒运行运行一次以确保当前会话仍然存在。
下面我们将解释下generic认证插件相关选项的配置方式:
▲username:Web 应用的用户名。
▲password:Web 应用的密码。
▲username_field: 在登录HTML源代码可以找到的需要用户名表单输入的名称。
▲password_field: 在登录HTML源代码可以找到的需要密码表单输入的名称。
▲auth_url:用于发送用户名和密码的POST请求URL地址。
▲check_url:用于检查会话是否仍处于active状态的URL地址。
▲check_string:检查HTTP响应的正文内容是否有证明会话仍出于active状态的字符串,如用户名等。
下面以登录DVWA网站为例:
其余的配置选项和之前介绍的配置一样。
1.2 设置HTTP 头部
w3af也支持使用自定义HTTP头部进行身份验证。这个方法会设置一个HTTP的请求头,然后该报头会被发送到每个http请求中。这个在使用此方法时,w3af不会再去验证会话的有效性,所以应事先确保会话是有效的。
在使用这个方法之前,必须先:
▲创建一个web文件包含如下内容:Cookie: <此处填上Cookie信息>,不带上引号并插入所需的会话。
▲在 w3af 的http-settings 配置菜单中设置 herders_file为上一步创建的文件。
▲保存。
保存之后,接下来w3af就可以对所有的http请求使用设置的会话Cookie。
二、常见的案例
2.1 扫描单个目录
如果你只想对特定某个目录的url进行扫描,可以按照如下步骤操作:
▲设置 target URL 为 http://domain/directory/
▲开启所有的audit插件。
▲开启crawl的web_spider插件。
▲在web_spider插件设置only_forward为True。
配置完成后,audit就只会扫描这个目录下的URL。
2.2 保存爬取的url
保存爬取的url:
使用 output插件的 exprot_requests。
三、高级案例
3.1 高级wen应用:
一些Web 应用使用浏览器端技术,例如javascript、Flash 和java applets 等一些浏览器才能理解的技术,w3af 暂时不能应对这些。
使用spider_man插件能够解决这些问题,它允许用户分析复杂的web应用程序。这个脚本会运行一个HTTP代理,用户可以通过这个代理浏览目标站点,在浏览过程中,插件将从请求和响应中提取信息。
配置完成,用户可以配置自己的浏览器使用127.0.0.1:44444作为代理,然后访问http://127.7.7.7/spider_man?terminate 来退出网络spider。
3.2 漏洞利用
w3af允许用户利用分析阶段识别出的漏洞。随着漏洞被发现,它们被存储在具有特定位置的知识库中,漏洞利用插件可以查看读取和使用这些信息来利用此漏洞。
下面我们扫描一个具有命令执行漏洞的链接:
扫描成功后,执行exploit os_commanding。
选择反弹的shell。
四、小结
w3af高级篇就介绍到这里了, 到目前为止我们也只是对这个工具做了一个大致的介绍,很多地方也都是点到为止,需要大家们在依照需求去挖掘其它的用法,如果大家在使用中有什么问题,欢迎大家留言讨论~