CI <=2.1.1版本绕过xss_clean()过滤函数缺陷
提请所有开发人员、网站主注意本漏洞,处理不当将导致重大安全问题。漏洞涉及版本:CI <= 2.1.1
漏洞产生原因:
由于CI的内核Security类中xss_clean()函数和_remove_evil_attributes()函数采用黑名单先验过滤机制(即过滤有限的恶意数据)。在存储入数据库、并输出数据至页面中时,若不对数据进行合理编码,攻击者可在浏览器端拼接恶意跨站代码。
漏洞重演:http://blog.kotowicz.net/2012/07/codeigniter-210-xssclean-cross-site.html
解决办法:升级至最新 CI 内核(2.1.2)或使用 HTMLPurifier 替代 xss_clean() 的功用。
国外安全人员发现的同一缺陷:
http://blog.kotowicz.net/2012/07/codeigniter-210-xssclean-cross-site.html
感谢:北京印天网真公司提供漏洞报告。
关注 本帖最后由 lamtin 于 2012-7-20 14:34 编辑
http://codeigniter.org.cn/forums/thread-3717-1-1.html
HTMLPurifier 相关类库以及助手. {:soso_e101:} 漏洞。。。。哦买泪滴嘎嘎,,我一直以为xss_clean()能给过滤的非常干净:'( 前一阵也发现这个问题了,用xss_clean函数过滤的$param如果放到value="{$param}"时,还要进行一次转html编码 大家应该了解一下,什么时候用xss过滤,什么时候用html转义,还是有很大区别的,对安全性也有好处~ 我想问下
如果在页面输出的时候,对输出的值都htmlspecialchars 一下,可否避免类似的这种问题呢?:$ 80后奔三ing 发表于 2012-07-25 17:28:14 static/image/common/back.gif
我想问下
如果在页面输出的时候,对输出的值都htmlspecialchars 一下,可否避免类似的这种问题呢?:$
可以
<script>alert('a');</script>
页:
[1]