|
发布时间:2008-10-01
SBEUGID:SEBUG-200****4130
影响版本:
MolyX 2.8.0
漏洞描述:
魔力论坛最新版本 2.8.0 在登陆模块存在缺陷,通过精心构造代码获取管理员密码hash
//login.php
switch ($_INPUT['do'])
{
case 'login':
$this->dologin();
break;
case 'logout':
$this->dologout();
break;
case 'autologin':
$this->autologin();<---该函数存在漏洞
break;
default:
$this->loginpage();
break;
}
}
……
function autologin()
{
global $forums, $DB, $bboptions, $bbuserinfo, $_INPUT;
if (! $bbuserinfo['id'])
{
$userid = intval($forums->func->get_cookie('userid'));
$password = $forums->func->get_cookie('password');
//对这个参数未作处理,我们看看get_cookie是怎么写的
If ($userid AND $password)
{
$DB->query(\"SELECT * FROM \" . TABLE_PREFIX . \"user WHERE id='$userid' AND password='$password'\");//注意这个语句
if ($user = $DB->fetch_array())
{
……
}
}
}
}
找到get_cookie
代码:
function get_cookie($name)
{
global $bboptions;
if (isset($_COOKIE[$bboptions['cookieprefix'] . $name]))
{
return rawurldecode($_COOKIE[$bboptions['cookieprefix'] . $name]);
//可以通过rawurlencode引入单引号
}
return false;
}
下面我们来看看那个语句
$DB->query(\"SELECT * FROM \" . TABLE_PREFIX . \"user WHERE id='$userid' AND password='$password'\");
完全可以 提交登陆方式为autologin并且通过cookie来盲注的~~~~~~~~~
<* 参考
BY Flyh4t[WST]
http://www.wolvez.org/
*>
SEBUG安全建议:
暂无 |
|