Mambo Site Server Cookie信息确认漏洞
发布日期:2003-02-24
更新日期:2003-03-12
受影响系统:Mambo Mambo Site Server 4.0.12 RC2
不受影响系统:Mambo Mambo Site Server 4.0.12 RC3
Mambo Mambo Site Server 4.0.12
描述:
BUGTRAQ ID:
6926
Mambo Site Server是一款免费开放源代码WEB内容管理工具,由PHP编写。
Mambo Site Server在进行授权访问的时候没有充分确认基于Cookie验证的信息,远程攻击者可以利用这个漏洞使用特殊Cookie访问管理页面。
/administrator/index2.php脚本存在漏洞,如果用户知道会话表中的sessionid的情况下,就可以以管理员权限访问Mambo服务器。
一般的PHP设计让你设置Cookie时,如果页面不被刷新Cookie是不会被更新的,Mambo SiteServer包含如下代码:
setcookie("sessioncookie", "$sessionID");
if ($HTTP_COOKIE_VARS["sessioncookie"]!="") {
$query="INSERT into ".$dbprefix."session set
session_id='$cryptSessionID', guest='', userid='$uid',
usertype='$usertype', gid='$gid', username='$username'";
$database->openConnectionNoReturn($query);
}
我们可以看到,Mambo SiteServer在插入sessionid到会话表之前会检查COOKIE是否设置,如果没有设置,就没有会话ID插入也就不能登录访问管理员目录,但是查看SessionCookie.php代码,我们可以看到只要你退出就会把sessionid插入:
$current_time = time();
if ($HTTP_COOKIE_VARS["sessioncookie"]==""){
$randnum=getSessionID1();
...
$cryptrandnum=md5($randnum);
...
setcookie("sessioncookie", "$randnum");
$guest=1;
$query="INSERT into ".$dbprefix."session SET username='',
time=$current_time, session_id='$cryptrandnum', guest=$guest";
$database->openConnectionNoReturn($query);
}
因此,如果某个COOKIE按照下面的方法发送给浏览器(如某个人刚退出Mambo服务器):
sessioncookie=nh54OQIZb8ybaA2CNNdU1046102063
攻击者可以通过MD5加密此值,并以这个会话ID访问/administrator/index2.php脚本,就会认为我们以管理员登录:
/administrator/index2.php?session_id=0ebda5bbba49dc226b4ed8fc801f1d98
<*来源:Simen Bergo (
sbergo@thesource.no)
链接:
http://marc.theaimsgroup.com/?l=bugtraq&m=104611637416231&w=2
*>
建议:
厂商补丁:
Mambo
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载升级程序到4.0.12 RC3及之后的版本:
Mambo Mambo Site Server 4.0.12 RC2:
Mambo Site Server Upgrade Mambo Site Server 4.0.12 RC3
http://prdownloads.sourceforge.net/mambo/MamboV4.0.12-RC3.tar.gz?download
Mambo Site Server Patch MamboV4.0.12-RC3-patch.tar.gz
http://prdownloads.sourceforge.net/mambo/MamboV4.0.12-RC3-patch.tar.gz?download
Mambo Upgrade Mambo Server 4.0.12
http://sourceforge.net/project/showfiles.php?group_id=25577浏览次数:3000
严重程度:1(网友投票)