Skip to main content

34 docs tagged with "ysoserial"

View All Tags

BeanShell

BeanShell是一个小型的,免费的,可嵌入的Java源代码解释器,具有对象脚本语言功能,用Java编写。BeanShell动态地执行标准Java语法,并使用常见的脚本便利(如Perl和JavaScript中的松散类型、命令和方法闭包)对其进行扩展。

C3P0

C3P0(Connection Pool 3.0)是一个用于管理数据库连接池的开源 Java 库,实现了数据源和 JNDI 绑定,支持 JDBC3 规范和 JDBC2 的拓展,在很多开源项目中都使用到。

Ceylon

Ceylon 是一种面向对象编程语言,旨在提供一种简洁、可读性强、可靠性高的编程语言,适用于企业级应用程序开发和大规模软件工程项目。

Click

Click Framework 是一个用于构建基于 Java 的 Web 应用程序的开源框架,太老了,简单记录一下。

CommonsBeanutils

在之前分析 cc4 的时候,用到了 TransformingComparator、ChainedTransformer 等类来触发 TemplatesImpl。commons-beanutils 是 Apache 提供的一个用于操作 JAVA bean 的工具包,里面提供了各种各样的工具类,让我们可以很方便的对 bean 对象的属性进行各种操作,由此引出了 CB 系列的反序列化链。

CommonsCollections1 - TransformedMap

Commons Collections包为Java标准的Collections API提供了相当好的补充。在此基础上对其常用的数据结构操作进行了很好的封装、抽象和补充。官方API中介绍了各个包下的接口与实现,对于 org.apache.commons.collections.functors 包下的功能类,官方描述 WARNING: from v3.2.2 onwards this several classes in this package will throw an UnsupportedOperationException when trying to serialize or de-serialize an instance to prevent potential remote code execution exploits. 存在反序列化问题,因此漏洞分析主要围绕这个包展开。

JDK8u20

0x00 JDK7u21 怎么修复的漏洞

JSON

前面已经分析过 Fastjson 和 Jackson 了,ysoserial 中的 JSON1 这条链子同样是用通过触发 getter 的方式来触发,这不过这条复杂一点。

Jython

Jython 是 Python 编程语言的一个实现,它是用 Java 编写的,并且运行在 Java 平台上。因此可以在 Jython 中使用与标准 Python 相同的语法和标准库来执行系统命令,并且可以利用 Java 平台的特性和库,可以通过这个代码执行命令

MozillaRhino

Mozilla Rhino JavaScript 是一个开源的 JavaScript 引擎,由 Mozilla Foundation 开发,用于在 Java 环境中执行 JavaScript 代码。

Myfaces

这条调用链最后的 EL 表达式没复现出来,简单记录下调用链

ROME

0x00 相关类介绍

原生序列化 UTF 混淆

周末看了下 1ue 师傅 探索Java反序列化绕WAF新姿势 这篇文章想把这个 trick 实现到自己的工具里,分析了一下实现了一个算法直接加密原始数据。Demo 见 GitHub https://github.com/Whoopsunix/utf-8-overlong-encoding