PHP mcrypt_create_iv不安全加密实现漏洞

2007-05-16T00:00:00
ID SSV:1758
Type seebug
Reporter Root
Modified 2007-05-16T00:00:00

Description

PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。

PHP生成随机加密种子的算法上存在漏洞,远程攻击者可能利用此漏洞获取非授权访问。

PHP的mcrypt_create_iv()函数以未初始化的变量做为种子调用php_rand_r(),导致生成器反复生成相同的IV,具体取决于系统的栈结构。在某些情况下栈结构可能导致生成完全可预测的种子,因此也会生成可预测的IV,而非随机的IV会导致较弱的加密算法。

PHP PHP <= 5.2.1 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

<a href="http://www.fortheloot.com/public/mcrypt.patch" target="_blank">http://www.fortheloot.com/public/mcrypt.patch</a>

                                        
                                            
                                                srand((double)&nbsp;microtime(true)&nbsp;*&nbsp;1000000);

$module&nbsp;=&nbsp;mcrypt_module_open(MCRYPT_RIJNDAEL_128,&nbsp;NULL,&nbsp;MCRYPT_MODE_CFB,
NULL);

echo&nbsp;&quot;iv1:&nbsp;&quot;&nbsp;.&nbsp;bin2hex(mc