AspectJWeaver 前言依稀记得国赛初赛的那道Java题目就是用AspectJWeaver写入恶意so文件传进去,然后load_extension一手反弹shell。 其实用到的就是AspectJWeaver的任意文件写入漏洞。 AspectJWeaver运用在面向切面编程(AOP: Aspect Oriented Programming)中 AOP是一种编程范式,旨在提高模块化、降低代码耦合度。它可以向现有代码添加 2024-08-09 #Java
Log4j 前言Log4j漏洞被称为可载入史册的里程碑式顶级供应链漏洞。 2021年底,Log4j 漏洞横空出世,在安全圈引起了轩然大波,可以说是核弹级别的漏洞,无论是渗透、研发、安服、研究,所有人都在学习和复现这个漏洞,由于其覆盖面广,引用次数庞大,直接成为可以与永恒之蓝齐名的顶级可利用漏洞,官方 CVSS 评分更是直接顶到 10.0,国内有厂商将其命名为“毒日志”,国外将其命名为 Log4Shell。 A 2024-08-08 #Java
ruoyi-v4.7.8-RCE分析 前言应朋友的邀约看了看CNSS的夏令营题,基本是去年招新的原题,很简单。出了一道ruoyi不是原题,版本是4.7.7,这里也是直接拿下一血,借此做一个分析。 其实Ruoyi在4.7.6以前都是可以直接在定时任务打snakeyaml写内存马或者jndi,但是4.7.7后把bean能调用的一些class给ban了,而且4.7.8可以看到限制了http(s)/ldap/rmi的执 2024-08-08 #Java
从CISCN2023-华北-normal_snake看Snakeyaml和C3P0缝合 前言看标题就知道这次我要写什么,就是缝合怪。 除了Hessian这种独特的反序列化机制,以及AliyunChain17这种,很多java反序列化题目都是缝合。再加上搞心态的黑名单,缝合属性大爆发了属于是。 话不多说直接看题。 题目分析这道题我在博客园发过一次分析,这里也就浅浅贴个链接CV几下偷个懒~~ [CISCN 2023 华北]-normal_snake - Eddie_Murphy - 博客 2024-08-05 #Java
C3P0 前言C3P0是JDBC的一个连接池组件,类似的连接池组件还有Druid、DBCP 在执行JDBC的CRUD操作时,若每次操作都建立一次新的数据库连接到销毁,开销就太大了。因此通过连接池(Connection Pool)复用创建好的连接。 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。 使用它的开源项目有Hibernate、Spring 2024-08-05 #Java
二次反序列化 前言很多java题目,大都弄了个类继承ObjectInputStream,重写其resolveClass方法,在里面添加对反序列化类黑名单的校验。这也为我AWDP修java题提供了一些思路。 比如: 123456789101112131415161718192021222324252627public class MyObjectInputStream extends ObjectInputStr 2024-08-04 #Java
从巅峰极客2023Baby_URL看二次反序列化和Jackson原生链 这次本来是想学习Jackson原生链才开始做这道题打复现,但是没想到的是这道题的两个做法让我学习到了Jackson原生链结合二次反序列化绕黑名单或者打TemplatesImpl恶意字节码。 学到如今更觉受益匪浅,话不多说,直接开审。 题目分析目录结构如下: IndexController.java: 123456789101112131415161718192021222324252627282 2024-08-03 #Java
SnakeYaml SnakeYaml也算是常见的包,在之前打题的时候遇到过,国决java题两道solon也有这个包。 前言SnakeYaml是一个完整的YAML1.1规范Processor,用于解析YAML,序列化以及反序列化,支持UTF-8/UTF-16,支持Java对象的序列化/反序列化,支持所有YAML定义的类型。 Basic Practice依赖如下: 12345<dependen 2024-08-03 #Java
Jackson Jackson跟fastjson很相近,所以前言还是从fastjson过渡过来。 前言主要还是介绍Jackson原生反序列化引用。 这里从Fastjson重新开始说起: 在Fastjson中,JSONArray和JSONObject都实现了Serializable接口,这两个类的toString方法都能触发toJSONString的调用,要把一个JSON对象转字符串,必然涉及到对象属性的获取,会调 2024-08-03 #Java
Fastjson 到了喜闻乐见的Fastjson。 前言Fastjson 是阿里巴巴的开源 JSON 解析库,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。顾名思义,FastJson的特点就是快。 先从最简单的用法说起吧。 Basic Usage依赖用的1.2.23 12345<dependency> <groupId> 2024-08-01 #Java