ZZCMS内容管理系统于2018年2月6号被爆出SQL注入漏洞,该ZZCMS网站程序是应
用于招商行业、平台供求、加盟行业,应用比较广泛,全套系统采用PHP语言开发,数据库
采用mysqli,配合伪静态,zzcms系统稳定便捷,深受用户的喜欢。这次发现的zzcms网站漏
洞,是存在于2017年12月12日的最新V8.2版本。
SINE安全公司在对该ZZCMS网站程序代码进行安全审计的时候,发现在用户目录USER下的
del.php代码里发现存在sql注入漏洞,利用该漏洞可以获取网站的管理员账号密码,以及篡改
数据。Sine安全公司是一家专注于:网站安全、服务器安全、网站安全检测、网站漏洞修复,
渗透测试,安全服务于一体的网络安全服务提供商。
del.php代码里发现存在sql注入漏洞,利用该漏洞可以获取网站的管理员账号密码,以及篡改
数据。Sine安全公司是一家专注于:网站安全、服务器安全、网站安全检测、网站漏洞修复,
渗透测试,安全服务于一体的网络安全服务提供商。
<?php
$pagename=trim($_POST["pagename"]);
$tablename=trim($_POST["tablename"]);
$id="";
if(!empty($_POST['id'])){
for($i=0; $i<count($_POST['id']);$i++){
checkid($_POST['id'][$i]);
$id=$id.($_POST['id'][$i].',');
}
$id=substr($id,0,strlen($id)-1);//去除最后面的","
}
if (!isset($id) || $id==""){
showmsg('操作失败!至少要选中一条信息。');
}
switch ($tablename){case "zzcms_main";if (strpos($id,",")>0){
之前ZZCMS的版本已经加强了前端的安全过滤,尤其在chekid参数值上也进行了详细的安全过
滤,那么就没有其他的注入漏洞了吗?我们接着往下看代码,在 del.php代码的最下面的代码
里发现了漏洞所在,如下代码:
滤,那么就没有其他的注入漏洞了吗?我们接着往下看代码,在 del.php代码的最下面的代码
里发现了漏洞所在,如下代码:
}else{
if (strpos($id,",")>0){
$sql="select id,editor from ".$tablename." where id in (". $id
.")";
}else{
$sql="select id,editor from ".$tablename." where id ='$id'";
}
$rs=query($sql);
$row=num_rows($rs);
if ($row){
while ($row=fetch_array($rs)){
if ($row["editor"]<>$username){
markit();
showmsg('非法操作!警告:你的操作已被记录!小心封你的用户及
IP!');
exit;
}
query("delete from ".$tablename." where id =".$row['id']."");
}
echo "<script>location.href='".$pagename."';</script>";
}
完全是没有对tablename参数过滤,在tablename这个参数值上,发现可以传入一些非法参数包含
sql注入代码,由于这个参数值不需要闭合,直接可以拼接成sql语句,导致该sql注入漏洞发生。
这个sql注入漏洞不需要用户登录也可以直接注入,危害极大,请各位网站的运营者尽快修复漏洞。
sql注入代码,由于这个参数值不需要闭合,直接可以拼接成sql语句,导致该sql注入漏洞发生。
这个sql注入漏洞不需要用户登录也可以直接注入,危害极大,请各位网站的运营者尽快修复漏洞。
zzcms漏洞利用exp