RCE(远程命令执行)漏洞详解
漏洞描述
RCE(remote command/code execute,远程命令执行)漏洞 远程代码执行 (RCE) 攻击是指攻击者可以在一个组织的计算机或网络上运行恶意代码。执行攻击者控制的代码的能力可用于各种目的,包括部署额外的恶意软件或窃取敏感数据。
漏洞原理
远程代码执行攻击通常通过网络应用程序和网络基础结构的漏洞发生。 远程代码执行漏洞是软件中的缺陷,允许攻击者在目标系统上运行恶意代码。RCE 可以利用几种类型的漏洞,包括以下例子:
-
注入漏洞:注入漏洞 — 如 SQL 注入或命令注入 — 是通过不良的输入消毒来实现的。如果用户提供一个精心设计的恶意输入,则其提供的一些数据将被解释为要运行的命令。这使得攻击者可以强迫有漏洞的系统执行攻击者提供的代码。
-
不安全的反序列化:序列化通过将数据集打包成单一的由接收方系统解包的位串,简化了数据集的传输。然而,如果序列化数据的结构没有得到很好的定义,攻击者可能可以制定一个解包时会被误解的输入。根据数据的存储和处理方式,这种误读可能会使攻击者能够实现代码执行。
-
越界写入:缓冲区是一块被分配用来存储数据的固定大小的内存。不安全的数据读取或写入可能允许攻击者将数据放在会被解释为代码或应用程序的重要控制流信息的地方。
-
文件管理:有些应用程序允许用户向服务器上传文件。这种访问可能允许攻击者上传一个包含恶意代码的文件,并欺骗应用程序执行该代码。
恶意软件是攻击者提供的被设计为在目标系统上执行的代码。RCE 漏洞会允许攻击者以不同方式部署恶意软件。 因此,RCE 漏洞可以用来实现许多与传统恶意软件相同的目标。RCE 可用于在有漏洞的系统上部署恶意软件、进行拒绝服务 (DoS) 攻击,或访问存储在系统中的敏感信息。
漏洞场景
RCE 漏洞可能出现在各种类型的应用程序中,包括 Web 应用程序、网络服务、操作系统等。常见的场景包括使用远程代码执行漏洞的网络攻击、恶意软件的传播、未经授权的访问等
风险等级
RCE 漏洞通常被视为极高风险的漏洞,因为攻击者可以利用它远程执行任意代码,并可能导致目标系统的完全控制。
漏洞危害
RCE 漏洞的危害非常严重,攻击者可以利用它执行恶意代码,包括但不限于窃取敏感信息、篡改数据、拒绝服务等,甚至完全控制受影响系统。 如攻击者可以通过RCE继承web用户的权限,执行php代码,如果web的权限比较高的话,就可以读写目标服务器任意文件的内容,甚至控制整个网站。
php中与代码执行漏洞相关的危险函数:
eval() 将字符串当作php代码执行assert() 将字符串当作php代码执行preg_replace() 将字符串正则匹配后替换call_user_func() 回调函数array_map() 回调函数
漏洞验证
验证 RCE 漏洞通常涉及尝试向目标系统发送包含恶意代码的请求,并观察是否成功执行了该代码
漏洞利用
RCE 漏洞可以用于通过以下方式进一步进行普通攻击:
-
远程访问:攻击者经常利用 RCE 漏洞在企业网络上获得一个最初的立足点,然后再扩展。例如,一个 RCE 漏洞可以让攻击者窃取登录凭证,从而允许他们通过 VPN 进行网络访问。
-
恶意软件部署:虽然 RCE 漏洞运行代码执行,但这种代码的范围可能是有限的。为了避开这一限制,攻击者可能利用 RCE 下载并执行其他更具破坏性的恶意软件。例如,RCE 可以用来在一个有漏洞的系统上下载和执行勒索软件。
-
数据盗窃:RCE 漏洞可能允许攻击者在有漏洞的应用程序中运行命令。这使攻击者能够访问文件系统、数据库和存储的其他敏感的公司和客户数据。
-
数据破坏:RCE 漏洞可能允许攻击者在数据库中运行 DROP 命令,或在系统终端中执行代码。这种访问提供了与合法用户相同的删除文件的能力
-
DoS 攻击:越界写入漏洞允许攻击者覆盖关键代码,使应用程序崩溃。其他 RCE 漏洞可能允许终止进程或删除重要数据。
漏洞防御
防御 RCE 漏洞的方法包括:
-
输入验证和过滤
-
沙箱环境隔离
-
最小权限原则
-
及时更新和漏洞修复
-
安全编码实践
远程代码执行攻击是因为企业网络应用程序中有漏洞。公司可以通过以下方法来减少发生 RCE 攻击的几率:
-
漏洞扫描:静态代码分析(以识别众所周知的漏洞模式)和动态分析(如模糊分析)的结合,可以帮助开发人员在 RCE 漏洞被利用之前识别和纠正这些漏洞。
-
更新和打补丁:可能在一个应用程序或其依赖的第三方库中发现 RCE 漏洞。及时应用更新和补丁可以缩短有漏洞的代码被利用的窗口时间。
-
输入验证:多数 RCE 漏洞涉及不良的输入验证,即应用程序对用户提供的数据做出假设。强有力的输入验证可以消除大多数 RCE 漏洞的威胁。
-
网络监控:尝试性的 RCE 攻击可以被网络应用程序和 API 保护 (WAAP) 解决方案检测并阻止。在网络应用程序前部署网络安全解决方案可以减少未修补漏洞的潜在风险。
典型案例
典型的 RCE 漏洞案例包括:
Apache Struts2 远程执行代码漏洞(CVE-2017-5638)
于2017年3月被公开披露。该漏洞允许攻击者通过构造恶意的 HTTP 请求,利用 Struts2 框架对表达式语言(OGNL,Object-Graph Navigation Language)的解析不当,远程执行任意代码
EternalBlue SMB 漏洞(CVE-2017-0144)
于2017年3月由美国国家安全局(NSA)的 Equation Group 组织被泄露。该漏洞存在于 Windows 的 Server Message Block (SMB)协议的实现中,攻击者可以利用该漏洞在网络上远程执行任意代码 EternalBlue 漏洞曾被广泛利用于大规模网络攻击,最著名的案例包括 WannaCry 勒索软件攻击和 NotPetya 攻击。这两次攻击导致了全球范围内数百万台计算机被感染,造成了巨大的经济损失和社会影响。
Heartbleed 漏洞(CVE-2014-0160)
于2014年4月被公开披露。这个漏洞的存在使得攻击者可以利用 OpenSSL 实现的 TLS/SSL 协议中的心跳扩展(heartbeat extension)功能,从服务器内存中读取敏感信息,包括私钥、会话密钥和其他用户数据. 漏洞的原理是由于 OpenSSL 实现的心跳扩展功能中存在缓冲区溢出漏洞,攻击者可以发送恶意的心跳请求(heartbeat request),并在请求中伪造心跳数据的长度字段,导致服务器未经授权地泄露内存中的敏感信息 Heartbleed 漏洞的影响非常广泛,因为 OpenSSL 是用于加密互联网通信的一种广泛使用的开源加密库。受影响的系统包括 Web 服务器(如 Apache 和 Nginx)、电子邮件服务器、虚拟私有网络(VPN)设备等。此外,许多大型互联网服务提供商和网站也受到了这个漏洞的影响
Drupal 远程执行代码漏洞(CVE-2018-7600)
Drupal 远程执行代码漏洞(CVE-2018-7600)是 Drupal 内核中的一个严重漏洞,于2018年3月被公开披露。该漏洞影响了 Drupal 7.x 和 8.x 版本,允许未经身份验证的攻击者利用漏洞在受影响的 Drupal 网站上执行任意代码,并获取网站管理员权限。
Shellshock 漏洞(CVE-2014-6271、CVE-2014-7169)
于2014年9月被公开披露。该漏洞允许攻击者利用特定的环境变量注入方式,远程执行任意代码,从而获取系统的完全控制。 Shellshock 漏洞的原理是由于 Bash shell 在解析环境变量时存在缓冲区溢出漏洞,攻击者可以利用恶意构造的环境变量,在受影响的系统上执行任意代码。具体来说,攻击者可以通过在环境变量中注入恶意的 shell 命令,并通过传递这些变量给 Bash shell 的方式触发漏洞。 由于 Bash 是许多 Unix 和 Linux 系统的默认 shell,因此 Shellshock 漏洞影响了大量的服务器、工作站和网络设备。
Joomla 远程执行代码漏洞(CVE-2015-8562)
于2015年12月被公开披露。该漏洞影响了 Joomla 1.5.x、2.x 和 3.x 版本,允许未经授权的攻击者利用漏洞在受影响的 Joomla 网站上执行任意代码,并获取网站管理员权限。 由于 Joomla 是一个广泛使用的内容管理系统(CMS),受影响的 Joomla 网站数量庞大
WordPress 远程执行代码漏洞(CVE-2019-8942)
于2019年2月被公开披露。该漏洞影响了 WordPress 4.9.9 版本及之前的所有版本,允许未经授权的攻击者利用漏洞在受影响的 WordPress 网站上执行任意代码,并获取网站管理员权限 于2019年2月被公开披露。该漏洞影响了 WordPress 4.9.9 版本及之前的所有版本,允许未经授权的攻击者利用漏洞在受影响的 WordPress 网站上执行任意代码,并获取网站管理员权限
PHPMailer 远程执行代码漏洞(CVE-2016-10033)
于2016年12月被公开披露。PHPMailer 是一个常用的 PHP 库,用于发送电子邮件,受影响的版本包括 PHPMailer 5.2.18 之前的版本。 受影响的 PHPMailer 版本中的漏洞是由于对邮件地址和主题字段的不充分验证,导致了代码注入漏洞的存在。攻击者可以利用此漏洞在邮件发送过程中执行任意 PHP 代码
相关文章:
RCE(远程命令执行)漏洞详解
漏洞描述 RCE(remote command/code execute,远程命令执行)漏洞 远程代码执行 (RCE) 攻击是指攻击者可以在一个组织的计算机或网络上运行恶意代码。执行攻击者控制的代码的能力可用于各种目的,包括部署额外的恶意软件或窃取敏感数据。 漏洞原理 远程代…...

K8S - Deployment 的版本回滚
当前状态 先看deployment rootk8s-master:~# kubectl get deploy -o wide --show-labels NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES …...

53 v-bind 和 v-model 的实现和区别
前言 这个主要的来源是 偶尔的情况下 出现的问题 就比如是 el-select 中选择组件之后, 视图不回显, 然后 model 不更新等等 这个 其实就是 vue 中 视图 -> 模型 的数据同步, 我们通常意义上的处理一般是通过 模型 -> 数据 的数据同步, 比如 我们代码里面更新了 model.…...

VMware-16.0配置虚拟机网络模式
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、为什么要配置网络?二、配置步骤1.检查VMware服务2.进入配置页面3.添加网络模式1.Bridge2.NAT3.Host-only 4.DHCP租约5.静态IP 三、使用总结 前言…...

element-ui badge 组件源码分享
今日简单分享 badge 组件的源码实现,主要从以下两个方面: 1、badge 组件页面结构 2、badge 组件属性 一、badge 组件页面结构 二、badge 组件属性 补充几个标签的用途: sub:下标、sup:上标、var 变量 代码如下&am…...
MySQL中日期有关函数
本次记录了获取日期时间的多种方式,还有日期和字符串之间的转换,以及加减日期的操作。 获取时间 # 1.获取当前时间(年月日时分秒格式) select now();# 2.获取当前时间(年月日格式) select curdate();# 3.获取当前时间(时分秒格式) select curtime();# 4.…...

jdbc工具类
jdbc 工具类,具体见下面代码,直接可以用。 /*** version 1.0* descpription: jdbc工具类* date 2024/4/6*/ public class JDBCUtils {private static final String URL "jdbc:mysql://127.0.0.1:3306/mybatis";private static final String …...
Svelte Web 框架介绍
Svelte 是一个用于构建网络应用程序的现代框架,它与其他用户界面框架(如React和Vue)有着本质的不同。Svelte 的核心理念是在构建应用程序时,将大部分工作转移到编译步骤中,而不是在用户的浏览器中运行时处理。这种方法…...

IP地址获取不到的原因是什么?
在数字化时代的今天,互联网已成为我们日常生活和工作中不可或缺的一部分。而IP地址,作为互联网通信的基础,其重要性不言而喻。然而,有时我们可能会遇到IP地址获取不到的问题,这会给我们的网络使用带来诸多不便。那么&a…...

Android APP加固利器:深入了解混淆算法与混淆配置
Android APP 加固是优化 APK 安全性的一种方法,常见的加固方式有混淆代码、加壳、数据加密、动态加载等。下面介绍一下 Android APP 加固的具体实现方式。 混淆代码 使用 ipaguard工具可以对代码进行混淆,使得反编译出来的代码很难阅读和理解ÿ…...

蓝桥杯真题Day47 倒计时6天:6道真题+回溯递归问题
[蓝桥杯 2019 省 A] 糖果 题目描述 糖果店的老板一共有M种口味的糖果出售。为了方便描述,我们将M 种口味编号 1∼ M。小明希望能品尝到所有口味的糖果。遗憾的是老板并不单独出售糖果,而是K 颗一包整包出售。 幸好糖果包装上注明了其中 K 颗糖果的口味…...
通过UDP实现参数配置
来讲讲UDP的一种常见应用 我们知道UDP是一种无连接的网络传输协议,在发送数据时指定目标IP及端口就可以将数据发送出去,因此特别适合用作网络设备发现。 我们可以自定义一个通信端口,假设为55555。我们再制定一个协议用于查询目标设备&#x…...

解析Apache Kafka:在大数据体系中的基本概念和核心组件
关联阅读博客文章:探讨在大数据体系中API的通信机制与工作原理 关联阅读博客文章:深入解析大数据体系中的ETL工作原理及常见组件 关联阅读博客文章:深度剖析:计算机集群在大数据体系中的关键角色和技术要点 关联阅读博客文章&a…...

独角数卡对接码支付收款教程
1、到码支付后台找到支付配置。2、将上面的复制依次填入,具体看下图,随后点立即添加 商户ID商户PID 商户KEY异步不能为空 商户密钥商户密钥...

vuepress-theme-hope 添加谷歌统计代码
最近做了个网站,从 cloudflare 来看访问量,过去 30 天访问量竟然有 1.32k 给我整懵逼了,我寻思不应该呀,毕竟这个网站内容还在慢慢补充中,也没告诉别人,怎么就这么多访问?搜索了下, cloudflare 还会把爬虫的请求也就算进来,所以数据相对来说就不是很准确 想到了把 Google An…...

LabVIEW太赫兹波扫描成像系统
LabVIEW太赫兹波扫描成像系统 随着科技的不断发展,太赫兹波成像技术因其非电离性、高穿透性和高分辨率等特点,在生物医学、材料质量无损检测以及公共安全等领域得到了广泛的应用。然而,在实际操作中,封闭性较高的信号采集软件限制…...
什么是stable diffusion?
🌟 Stable Diffusion:一种深度学习文本到图像生成模型 🌟 Stable Diffusion是2022年发布的深度学习文本到图像生成模型,主要用于根据文本的描述产生详细图像。它还可以应用于其他任务,如内补绘制、外补绘制࿰…...

KeyguardClockSwitch的父类
KeyguardClockSwitch 定义在KeyguardStatusView中, mClockView findViewById(R.id.keyguard_clock_container);KeyguardClockSwitch的父类为: Class Name: LinearLayout Class Name: KeyguardStatusView Class Name: NotificationPanelView Class Name: Notificat…...
Gradle系列(二):Groovy基础
Gradle系列(二):Groovy基础 本篇文章继续讲下Groovy一些基础的语法。 1:Map map与List的用法很像,只不过值是一个K:V的键值对。 下面是是Groovy中Map的定义: task testMap { def map [‘width’:1280,‘height’:1960] prin…...

PW1503限流芯片:可达3A限流,保障USB电源管理安全高效
在电源管理领域,开关的性能直接关系到设备的稳定性和安全性。今天,我们将详细解析一款备受关注的超低RDS(ON)开关——PW1503。它不仅具有可编程的电流限制功能,还集成了多项保护机制,为各类电子设备提供了高…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...

GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...