php变量覆盖经验解说续写(两则)

admin 2021年4月3日19:26:59评论43 views字数 1882阅读6分16秒阅读模式

一:Dedecms变量覆盖新型绕过:

一哥也提及到了的:Jannock  看留言.

请看看文件:include/filter.inc.php

引用一哥话语:

这是2B的dede再次变量覆盖漏洞根源。。

这是过滤或替换非法关键字。正常的。

/* 对_GET,_POST,_COOKIE进行过滤 */
foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
    foreach($$_request as $_k => $_v)
    {
        ${$_k} = _FilterAll($_k,$_v);
    }
}

等同于重新赋值了,之前做的过滤无效了。

这是过滤或替换非法关键字。正常的。

漏洞关键是主要是下面的代码:

function _FilterAll($fk, &$svar)  //这是过滤或替换非法关键字。 
{ 
    global $cfg_notallowstr,$cfg_replacestr; 
    if( is_array($svar) ) 
    { 
        foreach($svar as $_k => $_v) 
        { 
            $svar[$_k] = _FilterAll($fk,$_v); 
        } 
    } 
    else 
    { 
        if($cfg_notallowstr!='' && preg_match("#".$cfg_notallowstr."#i", $svar))
         { 
            ShowMsg(" $fk has not allow words!",'-1'); 
            exit(); 
        } 
        if($cfg_replacestr!='') 
        { 
            $svar = preg_replace('/'.$cfg_replacestr.'/i', "***", $svar); 
        } 
    } 
    return $svar; 
} 

/* 对_GET,_POST,_COOKIE进行过滤 */ 
foreach(Array('_GET','_POST','_COOKIE') as $_request) 
{ 
    foreach($$_request as $_k => $_v) 
    { 
        ${$_k} = _FilterAll($_k,$_v); //这里只有过滤或替换非法关键字,当GPC为off的时候可以用注入了. 
    } 
}

所以在GPC=OFF的时候,被转义的变量又会被重新覆盖而变成正常代码。

Eg:

typeid=2'

经过覆盖

typeid=2'

看他的过滤会把脏话替换成***, 如果我们传如的参数里面有这样的一个字符 /他妈/ 他就会成为/***/,我相信大家已经想到了什么。

我联想到了XSS .

csse:gainover

更多连接:

https://forum.90sec.org/thread-4228-1-1.html 没ID搜索:[【原创】] (首发)dedecms 5.7 最新漏洞(绝非网上公布的)

https://forum.90sec.org/thread-4249-1-1.html 没ID搜索:[【原创】] 对最近dedecms注入的分析

http://www.2cto.com/Article/201211/169202.html

二.boblog任意变量覆盖漏洞-----php内置函数的问题

80vul

1.简单说说流程:

$_SERVER["REQUEST_URI"];控制了$q_url->绕过正则$RewriteRules[]不够细致->经过一些过程->parse_url出url->最后

parse_str($parsedURL['query']); (parse_str函数变量覆盖!) 

然后有两个出路:

1.虽然用了basename()来限制,但是可以利用data://来执行命令.只是这种方式的利用是有限制的 

[PHP>5.2.0&allow_url_include=On]. 

2.可以变量覆盖绕过系统global.php文件中防御变量覆盖的函数unregister_GLOBALS()。

程序写得不错^-^ 赞一个! 可惜 我们可以利用unset()就让他消失了.从而引发各种漏洞。。。

一些链接:

php data://

高级PHP应用程序漏洞审核技术 (百度搜索下) ->此文章中概括了大量php内置函数能引发变量覆盖的问题!

吐槽WB.

转自:http://zone.wooyun.org/content/1883

文章来源于lcx.cc:php变量覆盖经验解说续写(两则)

相关推荐: 全球超半数僵尸网络控制中心在美国

2月19日,美国网络安全公司曼迪昂特(Mandiant)仅凭IP地址就发布报告,指责中国军方从事网络间谍活动,引起舆论广泛关注。该报告数据显示,全球僵尸网络的指挥控制中心中有58%的指挥控制中心位于美国境内,9%在德国、7%在法国、7%在荷兰。 本报伦敦2月2…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月3日19:26:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   php变量覆盖经验解说续写(两则)https://cn-sec.com/archives/322580.html

发表评论

匿名网友 填写信息