好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

帝国万能接口带来的安全隐患 - 网站安全 - 自学

这是帝国的一套下载系统 如图 ps(不需要任何账户和密码,直接写shell)                                                                                                                   文:西毒

 

由于很多站是由于下载要整合discuz 等等一些 论坛 .... 而帝国他又有一个万能接口,如图   而这个接口很多人又不会删除,由此他带来了很大的安全隐患,导致直接getshell,下面分析代码 当我们提交的时候,他地址是提交到index.php?install=1&setup=SetConfig

www.2cto.com

if($_GET['install']==1)

{

    @include("class/connect.php");

    @include("class/db_sql.php");

    @include("class/functions.php");

    $link=db_connect();

    $empire=new mysql query();

    if($setup=="SetConfig")

    {

        SetUserCOMConfig($_POST);

    }

    elseif($setup=="alter")

    {

        InstallUserCOM();

    }

    elseif($setup=="update")

    {

        UpdateUserCOM();

    }

    else

    {}

他这里开始调用一个SetUserCOMConfig的函数了,我们继续跟踪 在data/fun.php中的15行 我们可以看到这个函数 function SetUserCOMConfig($add){     $filetext=ReadFiletext('data/user.php');     if(empty($filetext))     {         InstallShowMsg('文件 /update/data/user.php 丢失,安装不成功.');     }     $vr=explode(",",ReturnRepUserVar());     $count=count($vr);     for($i=0;$i<$count;$i++)     {         $filetext=str_replace("[!@--".$vr[$i]."--@!]",$add[$vr[$i]],$filetext);     }     //写入配置文件     $fp=@fopen("class/user.php","w");     if(!$fp)     {         InstallShowMsg(' /class/user.php 文件权限没有设为0777,安装不成功.');     }     @fputs($fp,$filetext);     @fclose($fp); .../省略若干 这里的他将$filetext=str_replace("[!@--".$vr[$i]."--@!]",$add[$vr[$i]],$filetext); 他将传进来的变量进行了切割,然后赋给了$filetext 然后看下面     //写入配置文件     $fp=@fopen("class/user.php","w");     if(!$fp)     {         InstallShowMsg(' /class/user.php 文件权限没有设为0777,安装不成功.');     }     @fputs($fp,$filetext); 打开了一个class/user.php文件,然后将$filetext写入了 转摘不注明作者的,烂jj 我们看看写入的结果,随便填一个   然后他就写到了class/user.php中了,所以0day就产生了   所以我们淫荡点,写个${@phpinfo()}试试   转摘不注明作者的,烂jj 然后访问以下class/user.php这个文件 不回复的也mjj 日了吧

查看更多关于帝国万能接口带来的安全隐患 - 网站安全 - 自学的详细内容...

  阅读:41次