T00ls元旦献礼之二:DedeEIMS 变量覆盖

2013-12-31 21:32:17 30 5199
据不完全统计,每到跨年之时就是t00ls各大潜水巨牛发0day之日,在此我先抛个砖。
自己看的版本:DedeEIMS_1.1_B090827 (不知道现在什么版本了 )
1. include/common.inc.php
foreach($_REQUEST as $_k=>$_v)
{
        if( strlen($_k)>0 && eregi('^(cfg_|GLOBALS)',$_k) ) //_POST[GLOBALS][cfg_dbhost] 完美绕过  正确写法参考dedecms

        {
                exit('Request var not allow!');
        }
}

function _RunMagicQuotes(&$svar)
{
        if(!get_magic_quotes_gpc())
        {
                if( is_array($svar) )
                {
                        foreach($svar as $_k => $_v) $svar[$_k] = _RunMagicQuotes($_v);
                }
                else
                {
                        $svar = addslashes($svar);
                }
        }
        return $svar;
}


foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
        foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v);
}
大牛们 一看就懂了 我也不多说

利用的方法可以参考
[url=DEDECMS爆严重安全漏洞 免账号密码直接进入后台]https://www.t00ls.com/viewthread.php?tid=17354&highlight=dede[/url]
其他方法 自己读代码去。

2. include/dedesql.class.php
if(isset($GLOBALS['arrs1']))
{
    $v1 = $v2 = '';
    for($i=0;isset($arrs1[$i]);$i++)
    {
        $v1 .= chr($arrs1[$i]);
    }
    for($i=0;isset($arrs2[$i]);$i++)
    {
        $v2 .= chr($arrs2[$i]);
    }
   
    $GLOBALS[$v1] .= $v2;
}
这个代码 是不是很眼熟呢 哈哈 利用方法 参考
[url=dedecms最新版本修改任意管理员漏洞]https://www.t00ls.com/viewthread.php?tid=23071&highlight=dede[/url]
[url=我来说说最新这个dedecms getshell 不成功的原因吧]https://www.t00ls.com/viewthread.php?tid=23086&highlight=dede[/url]
其他类似的文章 t00ls 还有很多 自己搜索去吧

最后祝大爷元旦快乐 大牛们 把你们的0day 甩出来吧

关于作者

冰封35篇文章787篇回复

评论30次

要评论?请先  登录  或  注册