本次文章只用于技术讨论,学习,切勿用于非法用途,用于非法用途与本人无关!
所有环境均为本地环境分析,且在本机进行学习。
从今天开始正式接触Java代码审计了,之前一直在做PHP代码审计但为了业务需要以及自己兴趣爱好的驱动下,决定开始学习Java代码审计,Java在一些大型开发项目中应用较为广泛,所以在做渗透测试的时候经常会遇到Java的站点,所以自认为想要安全走的更长远代码是一定要懂得。
之前认为学习代码审计必须要把开发基础全部掌握才能开始后面的审计,后来在学习基础的过程中发现这个过程很痛苦,而且坚持不了多久就会放弃。所以我准备换个学习的思路,就是遇到问题解决问题,在实战的基础上去学习(前提必须是有一门语言基础的情况下,如果纯小白的话建议先学一门语言,例如PHP)。
0x01 Java前置知识我想大部门想入门Java代码审计的小伙伴都跟我有同样的想法,就是Java毕竟是纯面向对象的一门语言学起来比较抽象,而且开发框架也是种类繁杂,甚至就像我一样连一个简单的Web项目也搭不起来,更别说审计了。但是一切事情总得有开始,只要开始了就会有收获。
1.MavenMaven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具。
这种又是大白话,如果没明白maven是什么,那么上面这句话跟没说一样,我自己觉得,Maven的核心功能便是合理叙述项目间的依赖关系,通俗点讲,就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包,而这里pom.xml文件对于学了一点maven的人来说,就有些熟悉了,怎么通过pom.xml的配置就可以获取到jar包呢?pom.xml配置文件从何而来?等等类似问题我们需要搞清楚,如果需要使用pom.xml来获取jar包,那么首先该项目就必须为maven项目,maven项目可以这样去想,就是在java项目和web项目的上面包裹了一层maven,本质上java项目还是java项目,web项目还是web项目,但是包裹了maven之后,就可以使用maven提供的一些功能了(通过pom.xml添加jar包)。
详细关于Maven的基础知识以及安装教程请参考