一、前言
本文是关于分享学习Java代码审计需要的前置知识点学习路径与资源,制定一个整体的一个学习思路与步骤,为后续学习Java代码审计打下基础知识。
二、Java基础
Java基础知识学习途径推荐:
Java 教程 | 菜鸟教程 (runoob.com)
Java学习教程,Java基础教程(从入门到精通) (biancheng.net)
Java 教程_w3cschool
学习Java语言基础知识:
另外,还需安装IDE工具(Eclipse或IDEA)并学会使用。
向Java网络编程、多线程编程等后面遇到了在回过头来学习,先熟悉Java基础语法,面向对象即可。
三、Java Web基础
审计Java开发的web系统需要对Java Web有一定的了解,能看到代码的逻辑,对获取前端传到后端参数的方法、操作cookie、session、解析HTTP等的方法有所了解之后,可以审计一些没涉及到框架的常见的Web类漏洞,了解漏洞的原理、产生的原因以及修复方法。
(一)Tomcat环境安装与配置
Tomcat下载和安装(图解) (biancheng.net)
Tomcat目录结构 (biancheng.net)
了解Tomcat中个目录的作用,所代码的含义。
(二)Servlet
学习途径:
Servlet 教程 | 菜鸟教程 (runoob.com)
Servlet教程 (biancheng.net)
(三)JSP
学习途径:
JSP 教程 | 菜鸟教程 (runoob.com)
JSP教程 (biancheng.net)
(三)JDBC
学习JDBC中操作数据库的常见类和接口的方法,后续审计SQL注入漏洞时能看懂代码,了解JDBC中通过预编译防止SQL注入的方法。
四、框架学习
了解Maven项目管理工具的使用。
对框架有一定的了解后,可以开始学习审计有关框架曾经披露出的漏洞。
五、poc、exp的编写
审计出漏洞后,能够学会写poc、exp。
六、代码审计工具
Fortity、CodePecker、CODEQL等。