代码审计
Java代码审计
0.配置环境是第一道坎儿 - 如何利用Maven构建项目? - 如何把项目部署到Tomcat中然后启动? - 如何反编译JAR包看源码? - 如何进行动态调试?
1.大量复现并分析已经曝出的漏洞,高质量的漏洞分析是提升自己技能的最简单、最直接的方式
。
- Java代码审计注重知识的积累,建议多分析大型的开源项目漏洞,如:Struts2、Jenkins、FastJson等。
- 学习利用链,如分析要ysoserial中的反序列化利用链、JNDI利用流程等。
- 分析过程中多问为什么,尽力解释清楚整个漏洞的调用链,尝试动手写出自己的poc。
- 进行大量漏洞分析时,要让自己的思路跳出过于细节的执行流程,从整体层面去思考框架是如何实现这个流程的,这个过程在框架中到底发生了什么,自己能否将执行流的每个步骤都解释清楚。
2.深入理解Java的运行机制和设计模式。
重复上述过程,量变引起质变。
经典漏洞Struts2
REF:
下面2个微信打开才能看到图片
Struts2框架接收请求后的内部执行过程(一图胜千言):
Java代码审计
- Java代码审计汇总系列(一)——SQL注入 -- 这个系列文章真的不错
- Spring Boot Vulnerability Exploit Check List -- SprintBoot打点必备