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

软件测试 | web测试-伪造浏览器头信息

2023-09-13 10:14 作者:爱测软件测试  | 我要投稿

问题

出于安全目的,你的应用可能依赖于浏览器头信息。常见的这样使用的头信息包括Content-Length,Content-Type,Refere和U

User-Aget.本秘诀将测试你的应用是否能够正确地处理恶意头信息。

解决方案

要提供伪造的头信息,请浏览到刚好位于使用头信息的页面之前的页面。对分析软件包而言,每个页面都可能搜集头数据!对重定向页面而言,浏览到刚好位于重定向页面之前的页面才有意义;否则你就会被重定向。

打开TamperData,并通过“Start Tamper”按钮开启Tamper模式。向服务器发起请求。通常我们是通过单击链接来提交请求,不过在有些情况下你可能需要手动编辑并手动提交URL。

在TamperData左侧的TamperData提示窗口中,单击Tamper按钮。你会看到列出的RequestHeades,而头信息的取值则显示在右侧的文本框中。

在这里,你可以编辑任何已有的头信息,比如User-Agent.另外,你还可以添加尚未设定的头信息。例如,如果Referer头信息没有被自动设定,而且因为我们怀疑Referer头信息会被分析软件包获得,所以我们可以将它作为新的头信息添加进去,以此作为一项测试。图5-7显示; 一个TamperData窗口,其中Referer头信息被高亮显示。这是一种很好的篡改Referer的方法。要添加尚未存在的头信息,只需在头信息中右击并选择它以完成添加。

添加新的头信息之后,我们可以将其取值设定为任意字符串。通过将Referer头信息设定为<script>alert("xss");<script>如果充分利用,可以将它发展为跨站式脚本。

即使在提交了这个恶意Referer头信息之后,从服务器返回的页面上没有明显。但是,现在服务器的日志中有一行包含该字符串的文本。根据服务器日志显示方式的不同,特别是在通过定制软件来执行分析的情况喜爱,这段字符串可能会直接输出到管理员的网页浏览器。如果你安装了这样的日志监控或分析软件,请加载它并分析最近的几条Referer。无论如何,也要确保这段JavaScript注入不会被执行并显示一个小提示框。另外,你可以验证其特殊字符在存储到日志或从日志中获取时被转义处理。这样能确保其他恶意输入都得到正确的处理。

讨论

因为基于头心信息的工具并不总是这样的明显,所以首先要确定你的应用中出于功能或分析的目的要用到头信息的地方。虽然头信息通常只限于服务器和浏览器之间的后台通信,但攻击者仍然能够操纵他们来提交恶意输入。基于头信息的攻击可能特别地迂回,因为它们可能会设置为利用管理员检查和日志分析页面。头信息的常见用途包括:

引用页跟踪

头信息可以选择指定Referer,以表明连接到当前页面的前一页面。Web站点管理员使用它们来了解哪些外部站点链接到你的Web应用

点进(click-through)分析

服务器日志将Referer头信息制成表格,以报告用户在进入应用之后,如何在其内部导航。

受众分析

有时会分析User-Agent头信息,以确定用户使用哪种浏览器,操作系统,扩展甚至是硬件类型。

如果你的应用使用上述功能中的任何一种,请留意将被使用或分析的那个头信息。如果你的应用跟踪Referer头信息,就将它作为要调查的头信息加以注意。如果你通过浏览器跟踪你的受众,那么你应该更加关注User-Agent头信息。就报告而言,要确定接收、存储和分析头信息的位置。

大多数网站包含一种分析Web流量的方法。虽然有许多这种用途的软件包,比如Google Analytics或Omniture Web Analytics,但包含定制的Web流量报告的应用却不罕见。这写报告往往包含有关链接到你的应用的页面以及哪些用户代理(浏览器和其他客户端)发出页面请求的详细信息。在任何情况下,如果这些数据在进行时未经验证而且在现实给管理员之前未经净化,那么就存在潜在的漏洞。考虑到Web应用设计中很少会考虑到头信息,而管理员页面很可能是定制的,因此这种“头信息到管理页面”的问题很有可能存在于许多Web应用中。

在有些情况下,Web服务器可能会完全拒绝任何带有看似恶意的头信息的请求。对这些筛选程序做实验;有可能可以绕过它们。例如,如果筛选程序只允许有效的User-Agent取值,而有效User-Agent的定义是高度可变的。例5-4所示的User-Agenr并不对应真实的浏览器。事实上,它包含了恶意攻击字符串。不过,它确实符合有效User-Agent并不对应真实的浏览器。事实上,它包含了恶意攻击字符串。不过,它确实符合有效User-Agent标识符的许多结构约定。

例5-4:虚构的包含恶意攻击字符串的User-Agent


软件测试 | web测试-伪造浏览器头信息的评论 (共 条)

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