欢迎光临散文网 会员登陆 & 注册

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

2023-08-22 18:38 作者:爱测软件测试  | 我要投稿

问题

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驱动器中,并直接从该驱动器中加载它们,这样你根本不需要安装任何东西。


软件测试 | 使用以URL方式编码的数据的评论 (共 条)

分享到微博请遵守国家法律