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

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

缺陷编号:wooyun-2014-053704

漏洞标题:Taocms的Sql注射一枚可以无视GPC

相关厂商:taocms开源

漏洞作者: ′雨。

提交时间:2014-03-15 12:50

修复时间:2014-06-13 12:50

公开时间:2014-06-13 12:50

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

过滤不严。

详细说明:

在index.php中

include(SYS_ROOT.INC.'common.php');
$path=$_SERVER['PATH_INFO'].($_SERVER['QUERY_STRING']?'?'.str_replace('?','',$_SERVER['QUERY_STRING']):'');
if(substr($path, 0,1)=='/'){
$path=substr($path,1);
}
$ctrl=isset($_GET['action'])?$_GET['action']:'run';
if(isset($_GET['createprocess']))
{
Index::createhtml(isset($_GET['id'])?$_GET['id']:0,$_GET['cat'],$_GET['single']);
}else{
Index::$ctrl($path);
}


path是由query_string来的 所以不受gpc啦。

$ctrl=isset($_GET['action'])?$_GET['action']:'run';
if(isset($_GET['createprocess']))
{
Index::createhtml(isset($_GET['id'])?$_GET['id']:0,$_GET['cat'],$_GET['single']);
}else{
Index::$ctrl($path);
}
?>


看这里 我们可以自己来控制要进的函数

static public function getatlbyid($id){
if(!$id)return null;
self::$_db=new Dbclass(SYS_ROOT.DB_NAME);
if(MEMCACHE){
self::$_mem=new Memcached(MEMCACHE);
if(!$atl=self::$_mem->get($id.'_cms')){
$atl=self::$_db->get_one(TB."cms",'status=1 and id='.$id,"*",1);;
self::$_mem->set($id.'_cms',$atl);
}
}else{
$atl=self::$_db->get_one(TB."cms",'status=1 and id='.$id,"*",1);
}
return $atl;
}


那么就找这个函数来注入把。

漏洞证明:

)V4)FBGUA~G8_C8G03A4TQA.jpg


有图有真相。

修复方案:

过滤。

版权声明:转载请注明来源 ′雨。@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2014-03-15 21:42

厂商回复:

十分感谢您对taocms开源系统的关注:)

最新状态:

暂无