php第三方编码转换类安全警告
漏洞说明:在外面广泛使用的众多php编码转换类中,已经被证明在某些情况下会存在安全问题,构造畸形的数据将导致转换类的结果不可靠,从而可能使数据绕过系统的安全认证,一些开源程序如Discuz,Phpwind已经被批漏存在问题,Discuz和Phpwind均已发布补丁。
漏洞厂商:众多第三方编码转换类
漏洞解析:
编码转换类在系统存在iconv等函数的时候会选择iconv函数,但是如果系统不存在iconv或者不支持多字节编码转换的情况下,编码转换类会自己实现对编码的转换。在这里由于系统iconv在进行utf8编码转换时会严格遵守约定,对于不合法的数据将进行抛弃处理,而某些第三方编码类则会进行强行的转换,如一个非法的utf8字节如0xc15c27将被转换为0×808027或其他类似处理,这将导致其绕过程序的addslashes等安全保护,譬如恶意用户提交0xc127,经过php安全处理后将变成0xc15c27,然后经过转码后将成为0×808027,导致安全防护失败,导致安全漏洞。
漏洞证明及修复:
Phpwind官方补丁:http://www.phpwind.net/read-htm-tid-643202.html
Discuz!官方补丁:http://www.discuz.net/thread-1008182-1-1.html
80sec提醒使用编码转换类的厂商和程序及时检查自己的安全设置,可以通过对进行转码后的数据再次安全处理来修复这个问题,如果有iconv的支持则尽量使用iconv模块而不要自己实现编码。
本站内容均为原创,转载请务必保留署名与链接!
php第三方编码转换类安全警告:http://www.80sec.com/php-coder-class-security-alert.html