2025-09-12
CC链5CC5的链 和CC1差不多,只不过 调用 LazyMap.get()用的是 TiedMapEntry.toString()触发的
我们来看一下 TiedMapEntry.toString()
这里会调用 getValue() 跟进 看一下 getValue函数内容
再找一找触发点,来看看哪里的readObject调用了 toString。 由于调...
阅读全文
2025-09-08
CC链4环境jdk 8u66
12345<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.0</v...
阅读全文
2025-09-07
CC链3前面介绍了CC1和CC6,这两条链子虽然前面的入口类不同
CC1入口类是AnnotationInvocationHandler
CC6入口类是HashMap但是其触发恶意代码的方式是相同的,都是InvokerTransformer.transform()触发Runtime.getRuntime().exec()实现命令执行。
而在很多情况下,Ru...
阅读全文
2025-09-04
Java基础-类加载机制javac原理javac是用于将源码文件.java编译成对应的字节码文件.class。其步骤是:源码——>词法分析器组件(生成token流)——>语法分析器组件(语法树)——>语义分析器组件(注解语法树)——>代码生成器组件(字节码)
类加载过程先在方法区找class信息,有的话直接调用,没有的话则使用类加载器...
阅读全文
2025-09-03
准备阶段实际上 CC6链子 又是CC1的一个变种 没有版本限制找到这个漏洞的人又开辟出 一个新的线路 通过 TiedMapEntry.hashcode() 去触发 CC1里的 LazyMap.get()CC6是最好用的CC利用链,因为CC6不限制jdk版本,只要commons collections 小于等于3.2.1,都存在这个漏洞。
这里我们是继续沿用的...
阅读全文
2025-09-02
环境准备JDK1.8(8u66),commons-collections4,javassist(3.12.1.GA)
12345678910<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collectio...
阅读全文
2025-09-02
LazyMap这是CC1链的第二种利用方式,如果没有看过前面文章的需要看此文章:AnnotationInvocationHandler + TransformMap + Transformer
LazyMap 是 Commons Collections 中的一个集合类,它的作用是延迟加载数据。即只有在需要的时候(例如通过 get 方法),才会触发 Trans...
阅读全文
2025-09-01
准备环境JDK1.7(7u80)、commons-collections(3.x 4.x均可这里使用3.2版本)
JDK:https://repo.huaweicloud.com/java/jdk/7u80-b15/jdk-7u80-windows-x64.exe源码JDK:https://hg.openjdk.org/jdk7u/jdk7u/jdk/rev...
阅读全文
2025-08-24
Java反序列化漏洞Apache Commons是Apache开源的Java通用类项目在Java中项目中被广泛的使用,Apache Commons当中有一个组件叫做Apache Commons Collections,主要封装了Java的Collection(集合)相关类对象。攻击者利用存在漏洞版本的Apache Commons Collections库的反...
阅读全文
2025-08-23
XSS漏洞攻击者利用XSS(Cross-site scripting)漏洞攻击可以在用户的浏览器中执行JS恶意脚本,XSS攻击可以实现用户会话劫持、钓鱼攻击、恶意重定向、点击劫持、挂马、XSS蠕虫等,XSS攻击类型分为:反射型、存储型、DOM型。
1. 反射型XSS攻击示例 - 存在反射型XSS的xss.jsp代码:
1<%=request.getPa...
阅读全文