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

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

缺陷编号:wooyun-2014-087518

漏洞标题:DayuCMS 1.525 前台任意代码执行

相关厂商:DayuCMS

漏洞作者: Ricter

提交时间: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@乌云


漏洞回应

厂商回应:

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


漏洞评价:

评论

  1. 2015-04-15 15:25 | Jn· ( 路人 | Rank:30 漏洞数:14 | 本小菜很可爱,如果不服你TM来打我啊--哎呀...)

    这个怎么吧一句话执行了,解答下挖。