代码审计:云业cms后台注入漏洞复现

代码审计:云业cms后台注入漏洞复现

云业CMS

云业CMS内容管理系统是由云业信息科技开发的一款专门用于中小企业网站建设的PHP开源CMS,可用来快速建设一个品牌官网(PC,手机,微信都能访问),后台功能强大,安全稳定,操作简单。
源码下载:https://www.mycodes.net/43/10244.htm

昨天发现的前台注入漏洞,拿到几个官方演示站点去测试,失败了,试了其他调用getip()方法的函数,也不行,估计他们修改过这个函数了。
群里大佬说后台还有一处注入可以利用,叫我试试,于是菜鸡的我默默打开了Seay。。。

漏洞寻找

废话不多说,又经过一番寻找与“提示”,发现core/admin/deparment.php文件,其中id值是通过post直接获取的,然后被edit_admin_department()调用。
在这里插入图片描述
去到edit_admin_department()函数定义处,发现过滤语句。
在这里插入图片描述
但是仔细一看,发现代码只是过滤了departmentname和olddepartmentname两个变量,放过了我们的id变量,只是判断id值是否为空。

if($departmentname!=$olddepartmentname){
		$num=$this->db->GetCount("select count(*) as total from `#yunyecms_department` where departmentname='$departmentname' and departmentid<>$id limit 1");
		if($num){ messagebox(Lan('department_already_exist'),url_admin('department_add','','',$this->hashurl['usvg']),"warn");	}
}

从代码可以看出,如果departmentname的值不等于olddepartmentname,就执行sql语句,我们的id值没有任何过滤出现在sql语句中,应该有注入无疑了。

漏洞发现

来到core/admin/deparment.php所在的页面,即后台的部门管理处。
在这里插入图片描述
修改部门名字,只要前后名字不一致即可,使用burp抓包。
在这里插入图片描述
发送到Repeater模块,构造参数,可以看到sql报错。
在这里插入图片描述

漏洞利用

不想动手,就扔到sqlmap去跑就完事了。

sqlmap.py -r C:\Users\Administrator\Desktop\yunye.txt --batch

在这里插入图片描述

发布了201 篇原创文章 · 获赞 31 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43233085/article/details/104400443