今天看啥  ›  专栏  ›  远洋的小船

红队漏洞研究-fastjsonBasicDataSource链分析

远洋的小船  · 公众号  ·  · 2022-02-25 18:47
点击上方“蓝字”,关注更多精彩BCELBCEL的全名是Apache Commons BCEL,属于Apache Commons项目下的一个子项目,CC链也就是从Apache Commons产生的。BCEL库提供了一系列用于分析、创建、修改Java Class文件的API。主要用来将xml文档转为class文件。编译后的class被称为translet,可以在后续用于对XML文件的转换。该库已经内置在了JDK中。关于BCEL具体详情可参考https://www.leavesongs.com/PENETRATION/where-is-bcel-classloader.html。如何利用BCEL进行命令执行BCEL中有一个类com.sun.org.apache.bcel.internal.util.ClassLoader,是一个ClassLoader,重写了loadClass方法。在ClassLoader#loadClass()中,其会判断类名是否是$$BCEL$$开头,如果是的话,将会对这个字符串进行decode。首先编写一个恶意类package com.darkerbox.bcel;public class Evil {    stati ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照