仅仅只是想写给自己看
一个记录我Java安全学习过程的仓库,本仓库不是教学仓库,单纯简单记笔记,顺便见证自己从0到0.1的过程吧,少了很多介绍性的东西,以后等厉害了再慢慢补充吧
@Y4tacker
2021年10月18日,梦的开始
- Java反射
- 补充:通过反射修改用final修饰的变量
- Java动态代理
- JNDI注入
- 反序列化
- 类加载器与双亲委派模型
- 两种实现Java类隔离加载的方法(当然同名目录下也有pdf,防止以后站不在了)
- ClassLoader(类加载机制)
- SPI学习
- Java 类字节码编辑
- JavaAgent
- JMX
- JDWP远程执行命令
- Tomcat中容器的pipeline机制(学了以后更好帮助Tomcat-Valve类型内存马理解)
- ASM相关学习(最近慢慢在看,持续学习ing)
- Xpath注入
- JSTL(看菜鸟教程即可)
- JEP290基础概念
很早前学了,后面补上,更多是说一点关键的东西,不会很详细,好吧这里再拓展成反序列化专区好了
- Java反序列化之URLDNS
- CommonsCollections1笔记
- CommonsCollections2笔记
- CommonsCollections3笔记
- CommonsCollections5笔记
- CommonsCollections6-HashSet笔记
- CommonsCollections6-HashMap笔记
- CommonsCollections6-Shiro1.2.4笔记
- CommonsCollections7笔记
- 使用TemplatesImpl改造CommonsCollections2
- CommonsBeanutils1笔记
- CommonsBeanutils1-Shiro(无CC依赖)
- FileUpload1-写文件\删除文件
- C3P0利用链简单分析
- C3P0Tomcat不出网利用(思路就是之前高版本JNDI注入的思路)
- 反制Ysoserial0.0.6版本-JRMP(打个标签weblogic搞定后看看)
- 网上看到的神秘套娃CommonsCollections11
- SnakeYAML反序列化及可利用Gadget
- SnakeYAML出网探测Gadget(自己瞎琢磨出来的,不过在1.7以下版本就不行)
- XStream反序列化学习
- Java反序列化数据绕WAF之加大量脏数据 | 回忆飘如雪 (gv7.me)
- Java反序列化脏数据新姿势-对大师傅的姿势补充(个人的小研究)
- 解决反序列化serialVesionUID不一致问题(BestMatch:打破双亲委派对jbxz用工具最方便)
- 自己搞的把ROME利用链长度缩小4400-1320(Base64)
- JDK7u21
- AspectJWeaver写文件
可以对比jackson简单学习下,这里我也会简单提一下jackson的一些利用,当然不会很详细,但是会简单列出一些触发原理,而且有些payload是共通的,这里也不以收集各个依赖下利用的payload为主
- JavaWeb与Tomcat介绍
- Tomcat-Listener型内存马
- Tomcat-Filter型内存马
- Tomcat-Servlet型内存马
- Tomcat-Valve内存马
- 浅谈 Java Agent 内存马(网上看到大师傅写的很详细直接搬运工了)
- SpringBoot内存马学习-通过添加新路由
- 利用intercetor注入Spring内存马
- Timer型内存马
- 看不见的Jsp-Webshell(有点像平时CTF里面php的不死马的效果)
- 看不见的 Jsp-WebShell 第二式增强之无痕
- Spring cloud gateway通过SPEL注入内存马
后面因为一些原因打算更系统学习,感觉在这里面直接添加有点臃肿,故开了一个新的repo来记录整个学习阶段,移步RaspLearning项目
一开始不想搞这个是因为很少人用了,后面想了一下作为学习者还是不要太趋利的好,作为安全学习者就是靠不断的积累未来某一刻才能真正绽放,之前有些部分没写好重新写下,太难看了!
关于Make JDBC Attacks Brilliant Again的简单记录,当我们在 JDBC Connection URL可控的情况下,攻击者可以进行什么样的攻击?这部分可以配合探索高版本 JDK 下 JNDI 漏洞的利用方法来进行拓展攻击
因为比较重要单独列出来了
- Java RMI 攻击由浅入深(深入源码,师傅写的很好)
- 如何绕过高版本 JDK 的限制进行 JNDI 注入利用
- (自己写的流程补充)高低版JDK下的JNDI注入绕过流程跟踪(Jdk8u191+)
- 探索高版本 JDK 下 JNDI 漏洞的利用方法
- JNDI jdk高版本绕过—— Druid
- shiro<=1.5.2通用后门利用(个人小研究发现)
- CVE-2010-3863权限绕过(通过/./admin绕过/admin,/abc/../admin)
- CVE-2016-6802权限绕过(通过/abc/../y4tacker/admin绕过)
- Shiro550-TemplatesImpl(CC6-Shiro)
- CommonsBeanutils与无 commons-collections的Shiro反序列化利用
- 另类的shiro检验key的检测方式
- shiro反序列化漏洞攻击拓展面--修改key
- Tomcat-Header长度受限突破shiro回显
这里再贴一个小笔记:Class.forName
不支持原生类型,但其他类型都是ok。Class.loadClass
不能加载原生类型和数组类型,其他类型也都ok
- GadgetInspector源码分析
- CVE-2021-2471 JDBC-XXE漏洞分析
- spring-messaging 远程代码执行漏洞分析
- CVE-2020-9484 Tomcat-RCE漏洞分析报告(备注:三梦师傅的文章,提升了我对Tomcat配置的了解)
- Java “后反序列化漏洞” 利用思路
- 关于Servlet的线程安全问题
- BypassSM
- Log4j2-RCE分析
- Spring Boot FatJar任意写目录漏洞导致Getshell
- 利用TemplatesImpl执行字节码
- 为什么补丁都喜欢打在resolveClass
- Java沙箱绕过
- JMX RMI攻击利用
- 一种普遍存在于java系统的缺陷 - Memory DoS
- 如何关闭百度的Rasp
- 漫谈 JEP 290
- 构造java探测class反序列化gadget
- Java Web —— 从内存中Dump JDBC数据库明文密码(还挺好玩的)
- 普通EL表达式命令回显的简单研究
- 如何带依赖打包Jar
- 一些Java二次反序列化的点(持续收集)
- 自己写的OpenRasp分析
- tomcat-jmxproxy-rce-exp(挺骚的感觉留个后门啥的不错)
特地加了一栏吧,希望从比赛当中了解Java相关的东西积累实战经验!
- Codegate2022(关键词:绕过开头file协议读文件、xpath注入读系统配置)
- SUSCTF2022(关键词:绕rasp、fastjson、xxe)
- D^3CTF2022(关键词:ROME链缩短、Mybatis与Ognl)
- 虎符CTF2022(关键词:Hessian反序列化、Rome二次反序列化、java.security.SignedObject#getObject、UnixPrintService命令执行、Tabby)
- MRCTF2022(关键词:Kryo反序列化、Rome二次反序列化、内存马、Bypass SerialKiller黑名单-找替代类)
- 解决反序列化serialVesionUID不一致问题--已经拿下
- Dubbo学习之后开启
- 无文件落地Agent型内存马植入(Java内存攻击技术漫谈-Rebyond)
- 自己对所有文件上传框架Trick总结
- 消化腾讯大师傅写的关于文件上传waf