写点什么

软件测试 | 使用以 URL 方式编码的数据

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

    阅读完需:约 2 分钟

更多学习资料戳!!!

问题

URL 编码的数据使用 %字符和十六进制数字来传送 URL 中不允许直接使用的字符。空格、尖括号(<和>)和斜线(斜线分隔符号/)是几个常见的例子。如果你在 Web 应用中看到 URL 编码的数据(或许是在参、输入或某些原源代码中),而且需要理解或处理它,那么必须对它进行解码或编码。

解决方案

最简单的方法是使用 OWASP 的 CAL9000。它是一些列 HTML 网页,使用 JavaScript 来执行基本计算。它提供了一种交互的方式来复制或粘贴数据,以及任何地进行编码或解码。

编码

在“Plain Text”框中输入解码后的数据,然后单击“Select Encoding Type”下方左侧的“Url(%XX)”按钮。

解码

在“Encoded Text”框中输入编码数据,然后单击“Select Decoding Type”下方左侧的“Url(%XX)”选项。

讨论

对于任何查看过 HTML 源代码或从网页浏览器发送到 Web 服务器的任何后台数据的人来说,URL 编码的数据都是不陌生的。RFC1738(ftp://ftp.isi.edu/in-notes/rfc11738.txt)定义了 URL 编码,但它不要求明确的 ASCII 字符的编码。注意,尽管并非必须,但对这些字符进行不必要的编码并没用错。图 4-3 中的编码数据显示了一个这样的例子。实际上,冗余编码是攻击者用来掩饰其恶意输入的一种方式。不成熟的黑名单会检查<script>,甚至是 %3script%3e,但可能不会检查 %3c%73%63%72%69%70%74%3e,尽管它们实质上全部都是一样的。

CAL9000 的一大优势在于,它实际上并不是软件。它是一组内嵌有 JavaScript 的网页。即使你的 IT 策略超级严格,你根本无法在自己的工作站上安装任何东西,你仍然可以使用浏览器从本地硬盘中打开这些网页,而它们就能够供你使用。你可以简单地将它们装载到 USB 驱动器中,并直接从该驱动器中加载它们,这样你根本不需要安装任何东西。

用户头像

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

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

评论

发布
暂无评论
软件测试 | 使用以URL方式编码的数据_测试_测吧(北京)科技有限公司_InfoQ写作社区