Java代码审计⼊门篇
作者:
原⽂来⾃:
本期⽃哥带来Java的⼀些环境和⼯具准备。
Java这个语⾔相对于PHP来说还是⽐较复杂的,所以⼀开始接触到Java源码审计的时候会遇到⼀些关于环境和配置上⼀些困难,本⽂记录⽃哥在开始去审计Java代码的⼀些准备,希望能够帮助到刚⼊门的新⼿朋友们。
0×00 Java环境说明
1. 安装Java环境
安装完成后默认的安装⽬录:
环境变量的配置,环境变量配置主要是告诉我们⾃⼰的电脑Java安装完后⼏个关键⽂件的路径。
●JDK的安装路径在哪⾥?——JAVA_HOME
●JDK命令⽂件位置(bin⽂件夹路径)——PATH
●类库⽂件的位置(lib⽂件夹路径)—— CLASSPATH
2. 运⾏Java程序
Java的代码要执⾏前是需要事先编译的,编译器先将Java源⽂件编译成⼆进制的⽂件,⽽进⼀步解析器在解析成⼆进制的⽂件。HelloWorld.java
⼀般java源码⽂件没有办法像PHP或者Python那样直接解析,所以不借助IDE的话,我们需要通过javac这个命令去进⾏编译。
编译完后得到.class相应的字节码⽂件,这是可以⽤java直接解析。
3. Java反编译
由于很多时候我们得到并不是java的源码⽂件,⽽是.class结尾的字节码⽂件。所以我们需要⼀个⼯具帮助我们反编译看到相应的源代码。那这⾥推荐⼤家使⽤jd-gui这个⼯具。
下图描述的上述过程:
4. Java平台
刚接触到Java平台的时候,会接触到⼏个名词,如JavaSE,JavaEE,JavaME等等名词。简单来理解:
●Java SE —— 开发电脑软件
●Java EE —— 开发WEB⽹站
●Java ME —— 开发⼿机软件
Java SE(Java Platform,Standard Edition):允许开发和部署在桌⾯、服务器、嵌⼊式环境和实时环境中使⽤的 Java 应⽤程序。Java SE 包含了⽀持 Java Web 服务开发的类。
Java EE(Java Platform,Enterprise Edition):Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信API,⽤来实现企业级的⾯向服务体系结构和 Web 2.0应⽤程序。
Java ME(Java Platform,Micro Edition):为在移动设备和嵌⼊式设备(⽐如⼿机、PDA、电视机顶盒和打印机)上运⾏的应⽤程序提供⼀个健壮且灵活的环境。
0×02 Tomcat的安装和使⽤
1. Tomcat简介
常见的Java服务器:Tomcat、Weblogic、JBoss、GlassFish、Jetty、Resin、IBM Websphere等。
Tomcat服务器是⼀个免费的开放源代码的Web应⽤服务器,属于轻量级应⽤服务器,在中⼩型系统和并发访问等很多的场合下被普遍使⽤,是开发和调试JSP程序的⾸选。
Tomcat安装包可以去到apache的官⽹去下载,解压后它的⽬录结构如下:
2.Tomcat部署源码
例⼦:javapms公测版源码部署
将ROOT⽬录重命名为javapms1.4拷贝到tomcat的webapp⽬录下。
访问
0×03 IDE的使⽤
1.选择适合⾃⼰的IDE
个⼈⽐较习惯使⽤IDEA,除了IDEA以外,myeclipse也是⼀个不错的选择。
2.IDEA上部署WEB项⽬
因为在IDE上部署项⽬的话,更⽅便我们去调试代码和代码跟踪。
例⼦:javapms公测版源码部署。
配置运⾏程序,如配置tomcat。
安装:
3.IDEA上调试功能
这⾥主要⽤到的是IDEA的Debug功能。
下⾯是⼏个调试中会⽤到的⼏个快捷键:
●F7 ,进⼊下⼀步,如果当前断点是⼀个⽅法,进⼊⽅法体。
java源代码加密●F8 ,进⼊下⼀步,但不会进⼊⽅法体内。
●Alt+Shift+F7 ,进⼊下⼀步,如果当前断点是⼀个⽅法,⽅法还有⽅法则循环进⼊。●Shift+F8 ,跳出到下⼀个断点,也可以按F9来实现。
●Drop Frame ,当进⼊⼀个⽅法体想回退到⽅法体外可以使⽤该键。
0×04 Maven——项⽬管理和构建⼯具
1.Maven介绍
Maven是⼀种⾃动构建项⽬的⽅式,可以帮助我们⾃动从本地和远程仓库拉取关联jar包。官⽹地址:
maven 远程仓库:
之前审计的WebGoat就是使⽤Maven部署起来的。
2.Maven部署项⽬
在IDEA上部署Maven项⽬,这边以部署WebGoat源码为例。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。