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

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

缺陷编号:wooyun-2014-051030

漏洞标题:phpcms最新版本sql注射一枚

相关厂商:phpcms

漏洞作者: 寂寞的瘦子

提交时间:2014-02-15 17:38

修复时间:2014-05-16 17:39

公开时间:2014-05-16 17:39

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-02-15: 细节已通知厂商并且等待厂商处理中
2014-02-17: 厂商已经确认,细节仅向厂商公开
2014-02-20: 细节向第三方安全合作伙伴开放
2014-04-13: 细节向核心白帽子及相关领域专家公开
2014-04-23: 细节向普通白帽子公开
2014-05-03: 细节向实习白帽子公开
2014-05-16: 细节向公众公开

简要描述:

操蛋捏...
注:经测试需register_globals=on

详细说明:

首先我是官网选择的utf-8版本的然后下载的,(ps:应该是最新的吧...)下载之后搭建好之后要进
我下载的是官网的utf-8版本(ps:应该是最新了吧...)
本地搭建好之后要去后台点击生成首页测试...废话不多说了
bug存在文件/phpcms/modules/content/classes/content_tag.class.php 232行

$siteid = $GLOBALS['siteid'] ? $GLOBALS['siteid'] : 1;
$catid = (empty($data['catid']) || $data['catid'] == 0) ? '' : intval($data['catid']);
if($catid) {
$siteids = getcache('category_content','commons');
if(!$siteids[$catid]) return false;
$siteid = $siteids[$catid];
$this->category = getcache('category_content_'.$siteid,'commons');
}
if($catid && $this->category[$catid]['child']) {
$catids_str = $this->category[$catid]['arrchildid'];
$pos = strpos($catids_str,',')+1;
$catids_str = substr($catids_str, $pos);
$sql = "`catid` IN ($catids_str) AND ";
} elseif($catid && !$this->category[$catid]['child']) {
$sql = "`catid` = '$catid' AND ";
}
if($thumb) $sql .= "`thumb` = '1' AND ";
if(isset($data['where'])) $sql .= $data['where'].' AND ';
if(isset($data['expiration']) && $data['expiration']==1) $sql .= '(`expiration` >= \''.SYS_TIME.'\' OR `expiration` = \'0\' ) AND ';
$sql .= "`posid` = '$posid' AND `siteid` = '".$siteid."'";
通过全局接受了siteid变量
所以才要开启全局变量才能注射

漏洞证明:

本地测试
开启mysql监控,然后burp抓包加入'可以看到'被带入查询了。

1.png


然后附上本地证明一张,利用显错读取信息。

.png


注:经测试需register_globals=on

修复方案:

求一份精美的小礼物。

版权声明:转载请注明来源 寂寞的瘦子@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-02-17 09:56

厂商回复:

请联系 客服。索取礼物!

最新状态:

暂无