SemCms(php版)利用php措辞编写,结合apache,在window,或linux系统下运行。
SemCms采取国际通用utf-8编码编写。
SemCms非常适宜在外贸企业,电子商务互联网运用上利用,2009年12月首次发布以来,SemCms依赖出色的用户体验和领先的技能不断扩大外贸场霸占率,目前在海内已经成为最受欢迎的英文外贸网站之一。
1.漏洞成因
漏洞出处:jzkk_Admin/Include/function.php第9行
function checkuser(){ //判断账号
$COOKIEuser=@htmlspecialchars($_COOKIE[“scuser”]);
$cookieuserqx=@htmlspecialchars($_COOKIE[“scuserqx”]);
$sql=”select from sc_user where user_ps=’$cookieuser’ and user_qx=’$cookieuserqx'”;
$result=mysql_query($sql);
$row = mysql_fetch_array($result,MYSQL_ASSOC);
if (!mysql_num_rows($result)){ echo “<script language=’javascript’>alert(‘账号密码禁绝确重新上岸!
’);top.location.href=’index.html’;</script>”;}
else {echo”;}
}
这里看到天生的scuser和scuserqx都只经由了htmlspecialchars()函数,然后就进入了数据库查询,很明显这里存在cookie注入的问题!
下面看看是否后台登录进去后的界面有没有调用这个函数!
首先查看后台首页文件SEMCMS_Main.php第1行
<?php include_once ‘SEMCMS_Top_include.php’; ?>
这里为了示意,只截取主要代码,可以看到调用了SEMCMS_TOP_include.php文件,下面进入这个文件,看看有无调用checkuser()函数
在SEMCMS_TOP_include.php第309行涌现了调用函数
<title>欢迎利用黑蚂蚁·SEMCMS外贸网站管理系统</title>
</head>
<?php
echo checkuser();
?>
因此我们剖断这里一定存在cookie注入!
下面我们利用cookie天生软件来添加我们的payload
添加完成后我们直接访问后台地址http://127.0.0.1/jzkk_Admin/SEMCMS_Main.php
可以看到我们已经直接登录进来了,绕过了账号登录环节
这是cookie中的数据,证明了cookie注入漏洞的存在!
如有不当之处,敬请指出~