欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

Web 渗透与防护:反序列化漏洞与 Java CC 链(Commons-Collections)

发表于:|最后更新:|分类:Web安全|阅读:2181 次

Java 原生反序列化(readObject)在处理未受信任的二进制输入流时,若类路径包含 Apache Commons Collections 等第三方依赖,攻击者可通过精心构造由 InvokerTransformer 与 ChainedTransformer 组成的 Gadget 触发任意系统命令执行。

一、JEP 290 原生反序列化过滤白名单

java
// 启用 JVM 级别 ObjectInputFilter 阻断恶意 Class 实例化
SerialFilter.setFilter(info -> {
    Class<?> clazz = info.serialClass();
    if (clazz != null) {
        if (clazz.getName().startsWith("org.apache.commons.collections")) {
            return ObjectInputFilter.Status.REJECTED;
        }
    }
    return ObjectInputFilter.Status.ALLOWED;
});