学院首页>安全防御>黑客技法>Linux操作系统下由论坛到SSH的入侵

Linux操作系统下由论坛到SSH的入侵

作者:沙雷 来源:安全中国 添加时间:2006-5-26 13:17:21

好了,找关键的地方,最原先的用户,一般就是第一二个,找到了,是管理员权限,用户名为aaa,密码为4$@A%G,破解出了这个密码,按人的习惯,系统密码不是这个也不远了,至少会前进一大步。重新分析论坛代码,发现用以下的方法做的加密:

function t_encrypt($text, $key)

{

$crypt = "";

for($i=0;$i{

$i_key = ord(substr($key, $i, 1));

$i_text = ord(substr($text, $i, 1));

$n_key = ord(substr($key, $i+1, 1));

$i_crypt = $i_text + $i_key;

$i_crypt = $i_crypt - $n_key;

$crypt .= chr($i_crypt);

}

return $crypt;

}

还有个key,key在哪呢?在db下的一个mishi.php里,打开内容如下:

uselymzoinxvqonmhjqjhljywixrdxboqdmmfidlhzrcoatnldlmwvinljayirwqcgazyvfrwvgbgroqfxiqruu

rtkpogbkgdibeqejehfamujlqasitbizcxasobkl"; ?>

分析加密函数的算法:从密码第一位开始,取密码的一个字符,取key对应位的一个字符,转换成Ascii码相加,然后相加结果再减去key中下一位的Ascii,然后把最后结果再转换成字符即所谓密文存储。

Substr(string,i,j)函数的作用是将字符串string的第 i 位起取出 j 个字符。Ord()和chr()则分别是字符到Ascii和Ascii到字符的转换函数。简化一下上面算法就是:$i_crypt=$i_text+$i_key-$i+1_key。先拿第一位算吧,假设原密码第一位Ascii码为x,则:

x+ascii(j)-ascii(p)=ascii(4)

用Ascii码算就是x+106-112=52

第 2 页,共 2 页 [1] [2]
站内搜索