写点什么

软件测试 | 使用 WebScarab 观察实时的 POST 数据

  • 2023-08-17
    北京
  • 本文字数:1518 字

    阅读完需:约 5 分钟

更多学习资料戳!!!

问题

POST 请求是用于提交复杂表单最常见的方法。不同于 GET 取值,我们无法仅通过查看网页浏览器窗口顶部的 URL 来得知所有被传递的参数。参数经由连接从我们的浏览器被传送到服务器。所以,我们必须使用工具人来观察输入。

这项测试可以帮助你辨别输入,包括隐藏域和由运行在网页浏览器中的 JavaScript 计算得到的值。了解各种各样的输入类型(比如整数,URL,HTML 格式的文本)之后,你就能够构造合适的安全测试用例或误用案例。

解决方案

POST 数据可能很难懂,原因在于许多站点会在自己接收数据之后将你重定向到另一个页面。POST 数据可以很有用,当你按“后退”按钮时,它阻止你两次提交相同的表单。不过,这种重定向使我们很难直接在 Firebug 中抓取 POST 数据,所以这里我们将尝试另一件工具:WebScarab。

WebScarab 需要你调整 Firefox 设置,如图 3-7 所示。一旦将其配置好用于截获数据,它就可以用在本章所有的秘诀中。它的功能如此强大,我们强烈推荐你使用它。

要配置 Firefox 以便使用 WebScarsb,请按以下步骤操作:

1.启动 WebScarab

2.从菜单栏中选择“工具”→“选项”(Windows,Liunx),或者在 Mac OS 中按下(命令键+逗号)以激活 Firedox 首选项菜单如图 3-7 所示。

3.选择“高级”选项卡,然后选择其中的“网络”选项卡。

4.在这里,单击“设置”,并手动设置到 localhost 的代理,端口是 8008.

5.将这个代理服务器应用到所有协议。

然后,可以按下步骤使用 WebScarab 来观察 POST 数据;

1.浏览到某个使用 POST 表单的页面。你可以通过查看页面源代码并查找特定 HTML 标签的方法来标识出别样的表单。如果你找到<from>标签,请查找 method 参数。如果显示 method=“post”,那么这就是使用 POST 数据的表单。

2.在表单中输入一些简单信息并提交。

3.切换到 WebScarab,你应该会看到若干个条目显示这你最近的几个页面请求。

你可以在图 3-8 中看到 WebScarab 所获取的信息。

双击将方法(Method)设定为 POST 的任一请求。你将会看到这个页面请求的所有细节。在请求头下面,你会找到一段内容,它包含所有的 POST 变量及其取值。

这些头信息与请求头遵循相同的格式,仅仅是“名称一值”对,但它们是由服务器而不是浏览器来设置的。举个例子,请看图 3-9 的底部,那里显示了 URL 编码的 POST 数据。

讨论

WebScarab 是一件功能强大的工具。作为代理,它能够揭示在你的浏览器和 Web 服务器之间所有可以被看到的内容,这不同于 Firebug,后者会在你每次单击链接时重置。WebScarab 会保持记录,直到被关闭。你可以保存这种历史,以便重新提交 HTTP 请求(修改其中的某些取值)。其实,使用 WebScarab,你可以观察并更改 Web 服务器发送给你的一切内容。


图 3-9:WebScarab 知道你在 POST 中隐藏的信息

这证明,POST 数据虽然比查询字符串或 Cookie 数据(这两者都可以从请求头中找到)要稍微难找些,但它的提取、更改和重新提交也不难完成。正如应用永远也不应该相信查询字符串中的数据那样,同样的道理也适用于 POST 数据,甚至是隐藏表单域。

警告:

如果你试图浏览器受 SSL 保护的页面,WebScarab 导致浏览器弹出各种各样的警告。这些警告指出,你正在访问的网站的加密签名是不正确的。这是可以预见到的,因为 WebScarab 正在截获请求。不要将这种警告(使用工具的结果)与你的网站上 SSL 或加密不工作的提示相混淆。如果你禁用了 WebScarab 之后确仍然看到 SSL 错误,那么你才应该担心。

同样滴地,如果配置 WebScarab 用作代理,那么 FTP 请求将完全失效。

Firefox 有个附加组件称作 SwitchProxy(https://addons.mozilla.org/en-US/firefox/addon/125),它允许你在使用 WebScarab 这样的代理和使用另一个代理(比如,你公司的代理)或者完全不适用代理之间切换。如果你的正常环境需要你使用代理,那么 SwitchProxy 就特别方便,因为手动切换非常不方便。

用户头像

社区:ceshiren.com 微信:ceshiren2023 2022-08-29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
软件测试 | 使用WebScarab观察实时的POST数据_测试_测吧(北京)科技有限公司_InfoQ写作社区