来源:自学PHP网 时间:2015-04-17 12:00 作者: 阅读:次
[导读] 这是帝国的一套下载系统 如图ps(不需要任何账户和密码,直接写shell) 文:西毒由于很多站是由于下载要整合discuz 等等一些论坛........
这是帝国的一套下载系统 如图 由于很多站是由于下载要整合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 mysqlquery();
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 日了吧 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com