资讯专栏INFORMATION COLUMN

CSS Injection

zhkai / 3226人阅读

摘要:通过这种方式,攻击者可以进行逐字猜解并最终获取到完整的敏感数值。总结作为前端开发者,我们与用户最近,也是网络安全防护的第一道线,要时刻关注来自各方面的网络攻击,保障用户信息的安全。

什么是CSS注入

大家对XSS攻击都非常熟悉了,可能很少关注到CSS注入攻击,以下行为有可能受到CSS注入攻击:

从用户提供的URL中引入CSS文件

CSS代码中采用了用户的输入数据

可以看下以下两个例子
https://www.owasp.org/index.p...
http://www.thespanner.co.uk/2...

原理

CSS属性选择器让开发者可以根据属性标签的值匹配子字符串来选择元素。 这些属性值选择器可以做以下操作:
1.如果字符串以子字符串开头,则匹配;
2.如果字符串以子字符串结尾,则匹配;
3.如果字符串在任何地方包含子字符串,则匹配;
4.属性选择器能让开发人员查询单个属性的页面HTML标记,并且匹配它们的值。

而在实际环境中,如果一些敏感信息会被存放在HTML标签内,如CSRF token存储在隐藏表单的属性值中,这使得我们可以将CSS选择器与表单中的属性进行匹配,并根据表单是否与起始字符串匹配,加载一个外部资源,例如背景图片,来尝试猜测属性的起始字母。通过这种方式,攻击者可以进行逐字猜解并最终获取到完整的敏感数值。

防御策略

想要解决这个问题受害者可以在其服务器实施内容安全策略(CSP),防止攻击者从外部加载CSS代码。

总结

作为前端开发者,我们与用户最近,也是网络安全防护的第一道线,要时刻关注来自各方面的网络攻击,保障用户信息的安全。

参考文献

https://portswigger.net/kb/is...
https://www.freebuf.com/artic...
https://24ways.org/2018/secur...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/114791.html

相关文章

  • web 安全入门

    摘要:搞开发离不开安全这个话题,确保网站或者网页应用的安全性,是每个开发人员都应该了解的事。阿里巴巴的安全团队在实战中发现,防御产品的核心是检测技术和清洗技术。表示转账的目标账户,表示转账数目。 搞 Web 开发离不开安全这个话题,确保网站或者网页应用的安全性,是每个开发人员都应该了解的事。本篇主要简单介绍在 Web 领域几种常见的攻击手段。 1. Cross Site Script(XSS...

    MycLambert 评论0 收藏0
  • Laravel Dependency Injection (依赖注入) 概念详解

    摘要:依赖注入并不限于构造函数作为经验,注入最适合必须的依赖关系,比如示例中的情况注入最适合可选依赖关系,比如缓存一个对象实例。 本文翻译自 Symfony 作者 Fabien Potencier 的 《Dependency Injection in general and the implementation of a Dependency Injection Container in P...

    Fundebug 评论0 收藏0
  • React 源码深度解读(六):依赖注入

    摘要:依赖注入和控制反转,这两个词经常一起出现。一句话表述他们之间的关系依赖注入是控制反转的一种实现方式。而两者有大量的代码都是可以共享的,这就是依赖注入的使用场景了。下一步就是创建具体的依赖内容,然后注入到需要的地方这里的等于这个对象。 前言 React 是一个十分庞大的库,由于要同时考虑 ReactDom 和 ReactNative ,还有服务器渲染等,导致其代码抽象化程度很高,嵌套层级...

    glumes 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<