此系统之前有人提交了两个漏洞,很无语的是同一个漏洞哦~~~
WooYun: 某不知名CMS通杀SQL漏洞
WooYun: 某不知名CMS通杀SQL漏洞之二
然后,亲自测试了下,除了上述问题,还发现存在很多问题啊~~
系统介绍:
K12网站信息发布系统,大量中小学校,政府部门以及教育信息网在使用
官方网址:http://www.k12.com.cn/
百度关键字:inurl:cms/app/info/doc/index.php——(url特征)
百度关键字:版权所有:K12中国中小学教育教学网——(后台登陆特征,后台登陆地址cms/app/admin)
第一处SQL注入:
注入点:cms/app/info/poll/vote.php?pPollId=******(sqli)
文件/cms/app/info/poll/vote.php
$poll_id = $_REQUEST['pPollId'];
然后在获取投票信息内容时,poll_id直接进入get_poll_rs函数
get_poll_rs函数也没有过滤,导致SQL注入。
第二处SQL注入:
文件/cms/app/info/poll/do.php
$poll_id = $_REQUEST['pPollId'];
$item_ids = $_REQUEST['pPollItemIds'];
然后poll_id 和item_ids 直接进入update_poll_vote函数
update_poll_vote也未进行过滤,导致SQL注入。
这里还存在设计缺陷
在投票时,只判断COOKIE的值,这里可以伪造COOKIE导致刷票漏洞。
第三处SQL注入:
文件/cms/app/info/check/index.php
$cat_body_id = $_REQUEST['pCatBodyId'];
然后在获取当前内容时,cat_body_id 直接进入get_cat_body_rs函数
get_cat_body_rs也未进行过滤,导致SQL注入。
第四处SQL注入:
文件/cms/app/info/doc/ajax.php
$cat_body_id = $_POST['cat_body_id'];
参数没有过滤直接进入get_cat_body_rs,导致SQL注入。
第五处GetShell,目录遍历漏洞:
进一步跑出后台登陆的账号,后台拿shell。
后台地址:http://www.xxx.cn/cms/app/admin
在后台配置模板处,可以编辑模板内容
http://www.xxx.com/cms/app/admin/complex/tpl_edit.php?pCurDir=xxx.tpl
这里存在目录遍历,导致可以修改任意文件,然后拿webshell
拿此系统的使用案例进行漏洞证明
案例一:
http://www.rzlsedu.cn/
SQLMAP跑出数据证明:
数据库信息:
表信息:
案例二:
http://www.hxjy.com/
SQLMAP跑出数据证明:
数据库信息:
表信息: