首页 > 编程知识 正文

java编程入门基础教程,java代码审查框架

时间:2023-05-04 08:59:18 阅读:156870 作者:997

这次斗哥带来了Java代码审计的一些环境和工具的准备。

与PHP相比,Java语言还比较复杂,因此第一次接触审计Java源代码时,会遇到一些环境和配置方面的困难。 本文记录了斗哥为开始Java代码审计的准备,希望对刚入门的初学者们有所帮助。

000 Java环境说明

安装Java环境

安装完成后的默认安装目录:

环境变量的配置、环境变量的配置主要是在自己的计算机Java安装后告诉我们几个重要文件的路径。

JDK的安装路径在哪里? ——JAVA_HOME

JDK命令文件的位置(xfdwk文件夹路径) ——路径

类库文件的位置(lib文件夹路径) ——类路径

运行Java程序

Java代码必须在执行之前进行预编译。 编译器首先将Java源文件编译为二进制文件,然后解析器将其解析为二进制文件。

HelloWorld.java

因为典型的java源文件不能像PHP或Python那样直接解析,所以如果不借用IDE,则必须使用javac命令进行编译。

编译后,获得与. class相对应的字节码文件。 这可以用java直接分析。

3. Java反编译

大多数情况下,会得到以. class结尾的字节码文件,而不是java源文件。 所以,我们需要一些工具来反编译和查看合适的源代码。 那么在这里,我推荐使用一种叫做jd-gui的工具。

下图显示了上述过程。

4. Java平台

刚接触Java平台的时候,接触过JavaSE、JavaEE、JavaME等几个名词。 简单理解:

Java SE ——电脑软件的开发

Java EE ——开发网站

Java ME ——手机软件的开发

Java平台,标准版(Java )--开发和部署在桌面、服务器、嵌入式和实时环境中使用的Java APP应用程序。 Java SE包含了支持Java Web服务开发的类。

Javaee平台,企业版(Javaee ):Javaee基于Java SE构建,是用于实现企业级面向服务的体系结构和Web2.0APP应用程序的web服务

Java平台、微版(Java me ) :为移动和嵌入式设备(如移动电话、PDA、电视机顶盒和打印机)上运行的APP应用提供强大而灵活的环境。

002 Tomcat的安装和使用

1. Tomcat介绍

典型的Java服务器: Tomcat、Weblogic、JBoss、GlassFish、Jetty、Resin、IBM Websphere等。

Tomcat服务器是一种免费的开源web APP应用服务器,它是一种轻量级APP应用服务器,在中小型系统和并发访问等许多场合都很普遍,非常适合于JSP程序的开发和调试。

Tomcat安装包可以下载到apache的官方网站。 解压缩后的目录结构如下。

2.Tomcat展开源代码

示例:引入JavaPMSpublicedition源代码

将根目录重命名为javapms1.4,并将其复制到tomcat的webapp目录中。

使用003 IDE

1 .选择适合自己的IDE

虽然我个人已经习惯了IDEA,但是除了IDEA以外,myeclipse也是个不错的选择。

2 .在2.IDEA上部署WEB项目

因为在IDE中部署项目将有助于调试代码和代码跟踪。

示例:引入JavaPMSpositioningedition源代码。

执行程序,例如配置tomcat。

3.IDEA上调试功能

这里主要用到的是IDEA的Debug功能。

下面是几个调试中会用到的几个快捷键:

●F7 ,进入下一步,如果当前断点是一个方法,进入方法体。

●F8 ,进入下一步,但不会进入方法体内。

●Alt+Shift+F7 , 进入下一步,如果当前断点是一个方法,方法还有方法则循环进入。

●Shift+F8 ,跳出到下一个断点,也可以按F9来实现。

●Drop Frame ,当进入一个方法体想回退到方法体外可以使用该键。

0×04 Maven——项目管理和构建工具

1.Maven介绍

Maven是一种自动构建项目的方式,可以帮助我们自动从本地和远程仓库拉取关联jar包。

官网地址:

maven 远程仓库:

之前审计的WebGoat就是使用Maven部署起来的。

2.Maven部署项目

在IDEA上部署Maven项目,这边以部署WebGoat源码为例。

3.部署完成,运行与排错

如果使用旧版的IDEA,那么程序的兼容性比较高,直接运行StartWebGoat.java文件,该文件的完整路径是WebGoatwebgoat-serversrcmainjavaorgowaspwebgoatStartWebGoat.java

然而不幸的是,使用最新版的IDEA报错了,报错信息如下:

这是由于WebGoat的代码编写不够规范,在项目下的pom.xml没有规范书写程序包com.beust.jcommander.internal的相关信息,需要补充完整,补充如下:

pom.xml的完整路径为WebGoatwebgoat-containerpom.xml。

修改完成后,重新运行StartWebGoat.java,如果没有出错,看到控制台的Spring Boot运行界面说明编译和运行成功。

0×05 Fortify 代码审计工具

Fortify是一个自动化的代码审计工具,斗哥这里使用的是在FreeBuf上rydwx的2009年版的一款,框架是eclipse+规则库。而他的收费版本费用实在惊人。2009版的规则库都比较早期了,它允许我们自定义规则,所以可以在这个版本基础上增加审计规则。

有问题大家可以留言哦也欢迎大家到春秋论坛中来耍一耍  >>>点击跳转

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。