Apache Log4j2 远程代码执行漏洞全解析
一、漏洞概述
1. 漏洞原理
Apache Log4j2 是 Java 生态中广泛使用的日志框架,其Lookup功能存在致命缺陷:未限制 JNDI(Java 命名和目录接口)查询。攻击者可在日志消息中插入恶意 JNDI 表达式(如${jndi:rmi://恶意服务器/恶意类}),触发 Log4j2...
一、提权前提与核心条件
(一)适用场景
当已获取 WebShell 但缺乏系统级权限,且其他提权方式(如内核漏洞、配置错误)不可行时,可尝试通过 MySQL 数据库提权。
(二)核心要求
必须掌握高权限数据库用户的账号密码(如root权限),具备执行文件操作、配置修改等高级权限。
目标服务器需允许数据库用户与文件系统交互(如sec...
什么是 Java 序列化与反序列化
Java 序列化是将内存中的对象转换为字节流的过程,目的是实现对象在不同存储介质(如内存、文件、数据库)或网络间的高效传递 —— 例如网络通信时,发送方需通过序列化将对象转为字节流才能传输;而反序列化则是其逆操作,接收方通过该过程将字节流还原为可直接使用的原始对象。
从技术实现来看,序列化依赖Object...
一、漏洞原理
Redis 主从复制机制中,从节点可向主节点请求 “加载外部模块(MODULE LOAD)” 。当 Redis 版本
在 Web 开发中,SQL 注入始终是威胁数据库安全的重大隐患。攻击者通过在输入框中插入恶意 SQL 代码,就能非法访问或篡改数据库。而参数化查询作为防范 SQL 注入的有效手段,能通过分离输入数据与查询语句,从源头降低风险。下面我们结合 PHP 语言,详细介绍参数化查询的应用。
一、参数化查询的核心概念
参数化查询是一种在执行 SQL 语句前,用...
一、漏洞背景
Docker 守护进程(dockerd)默认通过 Unix Socket(/var/run/docker.sock)提供服务,仅允许本地访问。但如果管理员配置不当,将其通过 -H 0.0.0.0: 端口暴露在 TCP 端口上,且未做身份验证和访问控制,攻击者可远程利用 Docker API 执行命令,甚至挂载宿主机文件系统实现 “逃逸...
一、原理概述
Docker Socket(/var/run/docker.sock)是 Docker 守护进程与客户端通信的 UNIX 套接字文件。当 Ubuntu 18.04 容器挂载该文件时,容器内进程可通过 Docker API 操控宿主机 Docker 服务,进而创建挂载宿主机根目录的新容器,实现从容器到宿主机的权限逃逸。
二、环境准备(...
一、原理剖析
(一)核心依赖:core_pattern 机制
Linux 内核借助 /proc/sys/kernel/core_pattern 文件,定义程序崩溃(core dump)时的行为规则。当该文件内容以 | 起始,剩余部分会被当作用户空间的程序或脚本执行,且执行时继承内核级权限,通常可获取宿主机 root 权限 。
(二)容器逃逸条件
...
一、漏洞原理与测试目标
漏洞本质:Linux 内核写时复制(COW)机制的竞争条件漏洞,允许低权限用户篡改只读内存映射(如 VDSO 虚拟动态共享对象),实现权限提升。
Docker 逃逸逻辑:容器与宿主机共享内核,通过特权容器突破隔离,利用漏洞篡改宿主机 VDSO 内存,获取宿主机 root 权限。
测试目标:通过scum...
特权模式逃逸原理与前提
核心原理
当 Docker 容器以 --privileged 模式启动时,容器内的 root 用户获得与宿主机 root 几乎等同的权限,可直接访问宿主机设备、挂载磁盘分区,绕过 Namespace 和 Cgroup 隔离,实现对宿主机文件系统的完全控制,进而通过多种方式逃逸获取宿主机权限。
前提条件
容器以特权模...