首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Web 应用程序安全性:测试漏洞 -2 WebScarab

Web 应用程序安全性:测试漏洞 -2 WebScarab

WebScarabWebScarab 由开放 Web 应用程序安全项目(Open            Web Application Security Project,OWASP)开发,是首款用于分析浏览器请求和服务器应答的代理软件。除了用作数据包分析工具之外,还可以用来“fuzz”站点,寻找前面提到的那些 exploit。要使用 WebScarab,首先在 Web 浏览器中配置代理设置。对于 Mozilla Firefox,执行以下步骤(参见  了解备选的可访问步骤):
  • 单击 Tools > Options > Advanced > Network
  • 单击 SettingsConnection Settings 窗口打开。
  • 选择 Manual proxy configuration 选项。
  • 对于 HTTP ProxySSL Proxy,都输入 localhost,并将端口设置为 8008。
  • 确保 No proxy for 框为空,然后单击 OK
显示了 Firefox 的连接设置。
图 1. Firefox 连接设置对于 Windows® Internet Explorer®,执行以下步骤(参见 IE 帮助菜单中的 Internet Explorer 键盘快捷键,了解备选的可访问步骤):
  • 单击 Tools > Internet Options > Connections
  • 单击 LAN Settings 打开 Proxy Settings 窗口。
  • Proxy Servers 下,选中 Use a proxy server for your                  LAN 复选框,然后单击 Advanced
  • 对于 HTTPSecure,在 proxy address to use 下输入 localhost,然后在 port 下输入 8008。
  • 确保 Exceptions 框为空,然后单击 OK
显示了 Internet            Explorer 的代理设置。
图 2. 设置代理现在可以扫描 Web 站点了。
利用 WebScarab 扫描站点下面例子中使用了 Hacme Casino 站点,该站点由 Foundstone 构建,具有几个漏洞,可以用于练习(参见 )。该站点随同 Apache Tomcat 打包在一起,如果您愿意,也可以在本地运行它。
接下来,打开 WebScarab。一旦启动它,将只会看到两个选项卡:Summary            和 Intercept。因为您想要使用 WebScarab 进行 fuzz,所以通过单击 Tools > Use full-featured interface > OK 改变视图。然后会要求您重启 WebScarab。这样做之后,首先看到的界面如  所示。(WebScarab提供一个  的列表 — 不幸的是只有两个。)
图 3. WebScarab 界面要启动新的会话,单击 File > New。会出现一个框,询问您要将会话保存到哪里。选择或创建存储目录,然后单击 OK。对 Hacme            Casino 使用 WebScarab 时,在打开浏览器之前启动服务器。然后,在浏览器的地址栏中输入 http://localhost:3000。         
一旦打开浏览器,就应该开始在 WebScarab 中看到一些活动,因为 WebScarab 正在捕获浏览器和服务器之间的所有请求和应答。由于您想要使用 fuzzing 特性来测试漏洞,所以首先来看哪些地方可以存在各种不同的漏洞。首先来看登录,这是一个潜在的 exploit。要测试登录,您应该记录浏览器和服务器之间发生的交互。这里不需要成功登录,所以对于用户名和密码,您可以输入任何符号:对于本例来说,用户名和密码都输入 casino,然后单击 Login
当然,登录不成功,但是这不是我们感兴趣的。相反,回到 WebScarab。在 Path 列中,右键单击 account\login,然后单击 Use as               fuzz template,如  所示。
图 4. fuzzing 模板修改 all_attack.txt 文件向文件添加 'or 'x'='x 和 ') or 1=1-- 行,因为它们是基本的 SQL 注入字符串,将在本例中发挥作用。

执行以下步骤:
  • 单击 WebScarab 界面顶部的 Fuzzer 选项卡。
  • 单击 Source
  • 浏览到您的词典的位置。(我使用的是 all_attack.txt;参见  中的链接。)
  • 提供 Source 的描述,然后单击 Add
  • 单击 Close 回到 Fuzzer 窗口。
现在,转到 user_login 参数并在 Fuzz Source 列下的区域中单击。由于您只加载了一个源 — All attack,所以从下拉菜单中选择它。对 user_password参数做相同的事情,如 图 5 所示。
图 5. 选择攻击文件既然已经定义了源,就单击 Start 开始 fuzz 过程。Fuzzer 将来自文件的参数插入到用户名和密码输入中。您应该在工具完成每次尝试时在屏幕上看到一些活动。通常,您需要检查结果中的每个 ID,以分析每次尝试发生了什么事情。但是,您由于知道添加的字符串将产生一个结果,所以能够明白 fuzzer 成功时会发生什么。
双击例子中的第一个字符串,如 图 6 所示。
图 6. 找到漏洞注意,在上面的圈中,user_login 和 user_password 的值是 ‘) OR 1=1--。接下来,注意位置已从 http://localhost:3000(这是主页)更改为 http://localhost:3000/lobby/games(这是用户成功登录后会看到的页面)。这意味着什么呢?意味着您的站点是容易受攻击的。由于 ‘) OR 1=1-- 是一个 SQL 字符串,所以说站点容易受到 SQL 注入攻击。使用 Next 按钮滚动结果,并寻找那个值。注意,这里位置保持为 http://localhost:3000。从这个结果可以知道,插入该类型的字符串不会导致成功的登录尝试,所以站点不容易受到这种类型的攻击。
返回列表