lincanbin/Carbon-Forum

发新帖时可嵌入任意的url,并在访问帖子时自动请求该url

Opened this issue · 6 comments

发表新帖时会对Content进行过滤,但是style属性未处理,可以嵌入任意内容,比如url。
是否有其他危害未知,已知危害是可以用来发起CSRF。

比如构造如下Content:
Content=%3Cdiv+style%3D%22background-image%3Aurl%28%27https%3A%2F%2Fwww.baidu.com%27%29%22%3E%3C%2Fdiv%3E

<div style="background-image:url('https://www.baidu.com')">
</div>

https://github.com/lincanbin/White-HTML-Filter/blob/master/src/WhiteHTMLFilterConfig.php#L65

这个问题我之前考虑到了,所以我写这个过滤类的时候。
有写了个style白名单的功能,但是CSS样式太多,我没有去整理安全属性。

是的,看代码是考虑到了,就光看到一个空数组了。对于使用来说,还是存在安全隐患。

至少对于程序本身,GET方法请求无法发起CSRF,例如退出登录链接我也加入了token。

目前来看应该没有太大影响。

只要那个数组不为空,就是启用白名单了。

默认很少有人去改这个参数,所以大多数情况下是空白。
容易发起对其他站点的CSRF。或者哪天搞个CSS跨站出来也不好说。

其他网站有浏览器跨域安全策略保护的,问题不大。