是否需要清理用户控制的CSS选择器?

时间:2018-07-11 19:34:08

标签: jquery css css-selectors

是否可以滥用用户控制的CSS选择器?如果是这样,应该如何消毒?

具体来说,在这种情况下,我将以以下方式$('a').not(userSuppliedSelector)将选择器与jQuery配合使用,但我对一般情况也很感兴趣。

1 个答案:

答案 0 :(得分:0)

如果您实际上将选择器注入到css文件中并且不对用户进行消毒,则可以插入任何css并完全改变网站的外观。这将类似于SQL注入。

如果仅使用示例中的选择器,则不会发生此类情况。用户只需控制选择哪些链接。只是不要在字符串周围加上一个eval;)。选择器错误会导致性能下降。

如何获得价值也很重要。举例来说,如果您要从url参数中获取选择器,然后将其注入到CSS文件中,则可以创建一个可以更改页面外观(同时保留证书和基本url)的url,然后尝试通过向用户发送链接来欺骗用户。

但是无论如何,消毒可能是个好主意。