2022-05-16
/snakeyaml包主要用来解析yaml格式的内容,yaml语言比普通的xml与properties等配置文件的可读性更高,像是Spring系列就支持yaml的配置文件,而SnakeYaml是一个完整的YAML1.1规范Processor,支持UTF-8/UTF-16,支持Java对象的序列化/反序列化,支持所有YAML定义的类型。
2022-05-10
/本文针对Struts2一些经典漏洞进行分析和梳理。为什么要分析struts2这些略久远的漏洞呢?最近热议的Spring jdk9 漏洞,其中涉及到Struts2+类加载器漏洞的利用方式,由此有了重新梳理Struts2历史漏洞的想法。漏洞虽然是过去的,但知识点永远是知识点。希望通过对Struts2的一些经典漏洞的分析,获取新的认识和知识。
2022-04-25
/本文将回答下面几个问题:
2022-04-12
/本文主要是根据ptaint这篇论文的思想:将指针分析和污点分析统一起来进行分析,实现ByteCodeDL的污点分析功能,在阅读本文之前建议先学习下面三份资料
2022-04-11
/如果需要让你对一套CMS的安全性进行研究分析,你会从哪里入手?
或许你会回答代码审计的那一套知识点。
那么,如果需要让你要对 Spring Framework 框架的安全性进行研究分析,你会从哪里入手?
更宽泛一点,如果需要让你对一个大型的开源组件的安全性进行研究分析,你会从哪里入手?
2022-04-07
/最近学习了两篇关于Java内存攻击的文章:
Java内存攻击技术漫谈
其中我对无文件的Java agent技术挺感兴趣。于是乎花了点时间从头学习了一波,尤其是游望之师傅在Linux下植入无文件java agent的技术。本文将会对这个技术再进行一个梳理。但因我二进制的基础比较薄弱,所以本文在说明Linux下无文件Java Agent时,也会较详细的说明一些二进制相关的基础。希望能帮助同样二进制基础薄弱的同学学习和理解,二进制还是很有趣哒。
2022-04-06
/RMI(Remote Method Invocation)是Java语言执行远程方法调用的Java API,相当于面向对象的远程过程调用(RPC),支持直接传输序列化的Java类和分布式垃圾回收。
2022-04-02
/前两天看到一篇老外写的用codeql挖掘Java反序列化gadget的文章 https://www.synacktiv.com/en/publications/finding-gadgets-like-its-2022.html,虽然显示的效果还可以,但用了种比较土味的半自动化半人工的方式。直觉上感觉codeql用法应该不会这么呆,于是研究了下,有了这篇文章。
2022-03-30
/在上篇文章CodeQL 提升篇介绍了CodeQL的更多细节内容,而本篇带来的是如何使用CodeQL来获取应用的路由信息(目前适用SpringMVC)。
对于实现这块的想法来源主要是阅读了xsser和楼兰的文章(相关文章链接在本文末尾),目前已将功能实现并考虑了更多可能出现的场景,尽量做到可以获取正确请求内容。
2022-03-19
/我在前段时间写过一篇《探索高版本 JDK 下 JNDI 漏洞的利用方法》,里面例举了几种可以用作 JNDI 漏洞在Tomcat7和非Tomcat时的利用方法。
其中提到NativeLibLoader
能够实现 JNI 功能加载 so/dll/dylib 文件。
但有几个前提条件。
这几个条件会使危害大打折扣,所以需要再找到一个写文件的工具类。
2022-03-14
/在shiro利用工具之前是加了个修改key的功能,但这个功能有个遗憾,并不是在所有的中间件是通用的,也是我写shiro工具的一个遗憾吧。之后想过用深度优先算法将这个功能写进去,发现代码工程量太大了,所以不了了之。在前两天看到一个项目whwlsfb/JDumpSpider来的又来了灵感,本来是因为静态分析的工具,深入了解之后,发现这个实现很麻烦,无论从操作角度和实现角度来看。但这两天又看到北辰师傅写的文章从内存中Dump JDBC数据库明文密码,看文章中的仓库源码,发现更简单了。