ARP联盟图文中心下载中心手机频道最近更新软件最近更新文章网络热点
您当前的位置→图文中心新闻资讯安全播报DedeCMSV53任意变量覆盖漏洞
站内搜索:

DedeCMSV53任意变量覆盖漏洞


2009/5/29  编辑:佚名 来源:本站整理 

DedeCMSV53发布了,但是依旧没有将变量覆盖漏洞彻底修补。这个漏洞和ryat那个很相似 :)
看核心文件include/common.inc.php中的代码


//检查和注册外部提交的变量
foreach($_REQUEST as $_k=>$_v)
{
    if( strlen($_k)>0 && eregi('^(_|cfg_|GLOBALS)',$_k) && !isset($_COOKIE[$_k]) )//程序员逻辑混乱了?
    {
        exit('Request var not allow!');
    }
}这个地方可以通过提交_COOKIE变量绕过cfg_等关键字的过滤
接着是注册变量的代码

foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
    foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v);
}然后初始化变量

//数据库配置文件
require_once(DEDEDATA.'/common.inc.php');

//系统配置参数
require_once(DEDEDATA."/config.cache.inc.php");看似不能利用了,但是幸运的是在文件最后有这样一段代码

//转换上传的文件相关的变量及安全处理、并引用前台通用的上传函数
if($_FILES)
{
    require_once(DEDEINC.'/uploadsafe.inc.php');
}再看uploadsafe.inc.php给我们提供了什么

$keyarr = array('name','type','tmp_name','size');

参考消息:http://www.arpun.com/foreach($_FILES as $_key=>$_value)
{
    foreach($keyarr as $k)
    {
        if(!isset($_FILES[$_key][$k]))
        {
            exit('Request Error!');
        }
    }
    $$_key = $_FILES[$_key]['tmp_name'] = str_replace("\\\\","\\",$_FILES[$_key]['tmp_name']);
             //注意这个地方,通过common.inc.php的漏洞,我们是可以控制$_FILES[$_key]['tmp_name'] 的这里通过提交类似common.inc.php?_FILES[cfg_xxxx][tmp_name] =aaaaaa&……来覆盖cfg_xxxx
利用的时候注意给cookie赋值,同时要绕过uploadsafe.inc.php里面的一些判断 使用些版本的网站站长,尽快修复漏洞……更多相关:www.arpun.com

更多精彩,请查看本类栏目: 新闻资讯 - 安全播报
除非注明,ARP联盟文章来于网络,投稿原创等,转载请以链接形式标明本文地址。
本文地址:http://www.arpun.com/article/3608.html

相关文章
  • ·[图文]知名主机商Linode被关键字屏蔽
  • ·[图文]来自母体的数据错乱(三): The Mandela Effect(曼德拉效应)
  • ·[图文]iOS9原生输入法四大神器插件deb安装方法
  • ·[图文]2015-10-7巴西麦田圈(Prudentópolis_ Paraná)
  • ·[图文]2015-10-13英国白色眼镜样光球(Derbyshire)
  • ·如何关掉Windows Server 2003 启动时Ctrl+Alt+Del和关机时的时间跟踪程序?
  • ·[图文]Xcode病毒事件惊现 苹果安全神话再次被打破
  • ·[图文]XcodeGhost病毒波及大量主流iOS应用
  • 发表评论
    栏目列表
    阅读排行
    本类最新
    网站帮助 - 广告合作 - 下载声明 - 网站地图