java 安全学习路线

admin 2024年1月21日23:53:17评论25 views字数 2929阅读9分45秒阅读模式

(主要是整理别人写的内容,非原创。我只是知识搬运工

学习路线-作者:4ra1n

直接上图:

java 安全学习路线

基础-2

名称

学习内容

难度

Java反射

详细学习反射的各种用法,并介绍常见问题,比如反射调用方法、修改字段以及如何修改final static变量等,学习高版本绕过反射限制

⭐⭐

Class文件结构

从真实的Class文件每一个字节开始分析,介绍字节码的每一部分的意义,如何参考官方文档自己写工具解析Class文件

⭐⭐⭐⭐

JVM

简单介绍字节码如何在JVM中执行,以及常见的JVM基础,例如类加载器与双亲委派模型

⭐⭐

字节码指令(用到再学)

参考JVM官方文档介绍常见的字节码指令的作用和意义

⭐⭐⭐

ASM/Javassist(用到再学)

如何使用ASM修改字节码,如何使用Javassist生成字节码,通过Javassist框架实现插桩,和ASM进行对比

⭐⭐⭐⭐

Java Agent

启动前和运行中Agent,静态和动态的Java Agent技术,从简单的Hello World例子开始,破解简单的软件,最终自己实现一个简单的RASP防御,从ASM和Javassist两种方式实现

⭐⭐⭐⭐⭐

JNI与JNA

介绍JNI技术,实现Java加载Shellcode

⭐⭐⭐⭐

RMI

RMI是什么,攻击Server端,攻击Registry端,攻击Client端,攻击DGC

⭐⭐⭐

JNDI注入

JNDI注入原理,8u191以下如何攻击、8u191以上如何打(通过本地Factory的绕过,通过LDAP打本地Gadget的绕过),如何审计,尝试自己写一个简单的jndi exploit

⭐⭐⭐⭐

JMX漏洞

介绍什么是JMX, MLet安全问题,演示如何利用JMX实现RCE

⭐⭐⭐

JDWP

参考Oracle官方文档介绍JDWP协议,并演示如何RCE

⭐⭐⭐

进阶

名称

学习内容

难度

序列化数据结构

参考Oracle官方文档分析序列化数据

⭐⭐⭐

反序列化漏洞基础

学习分析URLDNS、CC1-CC7、CB、7u21、8u20等常用反序列化链,对每一条链进行手动调试分析

⭐⭐⭐

阅读ysoserial源码

分析这个工具的代码,并尝试自己写工具、尝试魔改(需要学懂ASM/Javassist)

⭐⭐

反序列化炸弹

学习什么是反序列化炸弹,如何利用它探测gadget

⭐⭐⭐

JEP290

什么是JEP290,它从哪几方面修复了反序列化漏洞,JEP290的鸡肋绕过

⭐⭐⭐⭐

反序列化数据缩小

从字节码和序列化数据结构本身来分析,演示修改字节码进行缩小

⭐⭐⭐⭐

反序列化绕WAF

演示如何通过延时分块传输和脏数据绕WAF

⭐⭐⭐⭐

Hessian反序列化

学习Hessian协议并分析Dubbo的历史漏洞

⭐⭐⭐⭐

XML-RPC反序列化

学习XML-RPC协议并分析OFBIZ的历史漏洞

⭐⭐⭐⭐

Fastjson反序列化

学习Fastjson历史版本1.2.x各个小版本的绕过,1.2.47以前的分析和绕过、1.2.47-1.2.68的分析和绕过,1.2.80的分析,出网和不出网利用链的分析

⭐⭐⭐⭐

XStream/Jackson

学习XStream、Jackson的多个历史漏洞,历史上有很多Gadget,重点放在如何寻找新的Gadget

⭐⭐⭐

SnakeYaml反序列化

学习SnakeYaml的多个历史漏洞

⭐⭐⭐

Weblogic

各种反序列化、二次反序列化漏洞,14882、14883绕过,XML Decoder,IIOP/T3,文件上传、SSRF漏洞,复现演示CVE-2018-3245,CVE-2018-3191,CVE-2020-14645,CVE-2020-14756,CVE-2020-2551,CVE-2021-2394等历史漏洞

⭐⭐⭐

Shiro550

经典Shiro反序列化漏洞分析和复现,学习如何手动编写探测和利用工具

⭐⭐⭐

Shiro进阶

学习如何通过shiro注入内存马、修改key,绕过请求头过大限制的办法,对请求头长度严格限制情况下的两种绕过思路,存在Nginx反代和负载均衡下的问题解决,以及如何检测

⭐⭐⭐⭐⭐

Shiro721

介绍Padding Oracle Attack并演示如何利用Shiro高版本

⭐⭐⭐⭐

Shiro权限绕过

分析历史上所有的Shiro权限绕过漏洞

⭐⭐⭐

Spring Security权限绕过

分析历史上所有的Spring Security权限绕过漏洞

⭐⭐⭐

SPEL相关

学习什么是SPEL并分析历史上所有SPEL导致的RCE漏洞,例如Spring Cloud Function和Spring Cloud Gateway等系列

⭐⭐⭐

Spring相关

学习SpringBoot Actuator多种利用姿势,Spring RCE漏洞的原理、复现

⭐⭐⭐

Tomcat漏洞相关

复现分析PUT RCE,CGI Servlet RCE,SESSION RCE以及AJP RCE等经典漏洞,其他鸡肋洞

⭐⭐⭐⭐

内存马技术

内存马原理学习,学习Serlvet,Filter,Listener,Valve,Websocket,Executor,Spring Controller,Interceptor等所有类型的内存马,动手实践调试每一种内存马,并研究如何挖掘内存马的思路(核心context)

⭐⭐⭐⭐

内存马进阶

介绍Tomcat内存马的查杀,如何反查杀,两种持久化后门的思路

⭐⭐⭐⭐

其他内存马相关

介绍zhouyu马,介绍Java Agent内存马原理和查杀,学习不死马与线程马,c0ny1师傅的jsp查杀,核心:类名,存在文件,dump class查杀,sa-jdi dump agent

⭐⭐⭐⭐

Log4j2漏洞

学习Log4j2原理与最初版RCE和RC1绕过,并学习2.15的特殊绕过(特殊操作系统),以及拒绝服务漏洞、原理,几种修复方案(以洞修洞),并基于Java Agent编写线上修复工具,尝试自己写burp检测插件

⭐⭐⭐⭐

Struts2

学习分析Struts2历史漏洞,大部分是OGNL相关的,学习下如何绕过的

⭐⭐⭐

其他组件漏洞

Apache Solr(几个RCE)、ApacheFlink(文件上传)、Apache Spark(命令注入)、Apache Skywalking(Sqli-RCE)、JDBC反序列化(尝试自己写一个fake mysql server)

⭐⭐⭐

进阶

tabby、codeql、自己分析字节码、自己写JVM

⭐⭐⭐⭐

todo

todo

todo

他的blibli:https://www.bilibili.com/video/BV1Sv4y1i7jf/?vd_source=8a8862ae9b252c497ebdca8ecdf008dc

github:java安全项目

这些项目的好处是,你不用自己去搜相关的组件jar包,一般简单的poc也有,一键启动,直接导入idea进行代码分析和调试,省去查找的过程。要么是有一定知识注解可以给你学的时候去看,可以少走一些配置方面的弯路。仅供各位参考

  • https://github.com/Y4tacker/JavaSec

  • https://github.com/Drun1baby/JavaSecurityLearning

原文始发于微信公众号(天才少女Alpha):java 安全学习路线

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月21日23:53:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   java 安全学习路线http://cn-sec.com/archives/2414196.html

发表评论

匿名网友 填写信息