沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践!
比来一段时光,关于 经由过程 CSS 创建 “keylogger”(键盘记录器) 的评论辩论很多。
有些人呼吁浏览器厂商去“修复”它。有些人则深刻研究,表示它仅能影响经由过程类 React 框架建立的网站,并责备 React。而真正的问题却在于很多人认为第三方内容是“安然”的。
第三方图片
- <img src=http://developer.51cto.com/art/201803/"https://example.com/kitten.jpg">
如不雅我将上述代码惹人我的文件中,即表示信赖 example.com。对方可能会删除资本,给我一个 404,导致网站不完全,大年夜而破幻魅这种信赖关系。或者,他们可能会用其他非预期的数据来替代小猫图片的数据。
然则,图片的影响仅限于元素本身的内容区域。我可以向用户解释并欲望用户信赖,“此处的内容来自 example.com,如不雅它有误,则是原站点的问题,并不是本站造成的”。但这个问题肯定不会影响到暗码输入框等内容。
第三方脚本
- <script src=http://developer.51cto.com/art/201803/"https://example.com/script.js"></script>
与图片比拟,第三方脚本则有更多的┞菲握权。如不雅我将上述代码惹人我的文件中,则表示我付与了 example.com 完全控制我的网站的权限。该脚本能:
- 攫取/修改页面内容。
- 监听用户的所有交互。
- 运行消费大年夜量计算资本的代码(如 cryptocoin 挖矿法度榜样)。
- 经由过程向本站发请求,如许能附带用户的 cookie,转发响应。(译注:窃取用户的 cookie 及其他数据)
- 攫取/修改本地存储。
- ......可以做任何对方想做的工作。
“本地存储”异常重要。如不雅脚本经由过程 IndexedDB 或缓存 API 提议进击,则即使在删除脚本后,进击仍可能在全部站点内持续存在。
如不雅你惹人了其他站点的脚本,则必须绝对信赖对方及对方的防护才能。
如不雅你遭到恶意脚本的进击,则可设置 Clear-Site-Data header(清空站点数据响应头) 清除站点所稀有据。
第三方CSS
- <link rel="stylesheet" href=http://developer.51cto.com/art/201803/"https://example.com/style.css">
比拟图片,CSS 在才能上更接近脚本。像脚本一样,它实用于全部页面。它可以:
- 删除/添加/修改页面内容。
- 根据页面内容提议请求。
- 可响应多种用户交互。
固然 CSS 不克不及修改本地存储,也不克不及经由过程 CSS 运行 cryptocoin 挖矿法度榜样(也许是可能的,只是我不知道罢了),但恶意 CSS 代码仍然能造成很大年夜的损掉。
键盘记录器
大年夜引起广泛存眷的代码开端讲起:
- input[type="password"][value$="p"] {
- background: url('/password?p');
- }
如不雅输入框的 value 属性值以 p 结尾,上述代码将会向 /password?p 提议请求。每个字符都可触发这个操作,经由过程它能获取到很多半据。
要应对这个问题,React 可用另一种同步暗码字段的方法,或浏览器可限制那些能匹配暗码字段属性的选择器。然则,这仅仅是一种虚假的安然。你只解决了在间谍作况下的该问题,而其他情况依旧。
如不雅 React 改为应用 data-value 属性,则该应对办法无效。如不雅网站将输入框更改为 type="text",以便用户可以看到他们正在输入的内容,则该应对办法无效。如不雅网站创建了一个 <better-password-input> 组件并裸露 value 作为属性,则该应对办法无效。
此外,还有很多其他的基于 CSS 的进击方法:
消掉的内容
- body {
- display: none;
- }
- html::after {
- content: 'HTTP 500 Server Error';
- }
以上是一个极端的例子,但想象一下,如不雅第三方仅对某一小部分用户如许做。不只你很难调试,还会掉却竽暌姑户的信赖。
更狡猾的方法如有时删除“购买”按钮,或重排内容段落。
推荐阅读
沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践!云计算办事供给商(CSP)如今懂得这些金融机构的挂念和请求,并响应地为其量身定制了云计算产品。 近年来,AWS公司大年夜>>>详细阅读
本文标题:别天真了,第三方CSS并不安全
地址:http://www.17bianji.com/lsqh/40617.html
1/2 1