前端安全审计时怎么判断CSS有没有安全风险?
最近在做项目的安全审计,听说CSS也可能有安全问题,比如XSS之类的。但我一直以为CSS是静态样式,不会执行代码,所以有点懵。
我试过用一些在线工具扫描,但没报错。不过我们有个动态加载用户自定义主题的功能,会把用户输入的CSS插入到页面里,这会不会有风险?下面是我们用的一段示例CSS:
.user-theme {
background-color: #f0f0f0;
color: var(--user-text-color);
font-family: 'CustomFont', sans-serif;
}
这种写法安全吗?还是说只要允许用户输入任意CSS就一定有隐患?
background-image: url(...)把你的敏感数据偷走,或者用样式覆盖搞钓鱼。必须用库把url、expression、@import这类危险属性全干掉,别信用户的输入。