美文网首页java代码审计
2021-12-06-java代码审计环境准备

2021-12-06-java代码审计环境准备

作者: 最初的美好_kai | 来源:发表于2021-12-07 16:57 被阅读0次

一、JDK的安装
下载地址:https://www.oracle.com/java/technologies/downloads/
安装方法,选择安装路径以后,直接配置环境变量路径即可(百度经验。。)

二、Docker环境的安装
1.docker安装(以kali linux为例子)

apt-get install docker.io

docker搜索镜像

docker search tomcat

docker拉取镜像

docker pull tomcat

查看镜像

docker images

删除镜像

docker rmi

运行镜像

docker run
常用 -it参数,用户提供交互式终端输入

退出容器

docker exit 

查看正在运行的容器

docker ps

停止容器

docker stop

重启容器

docker start

容器执行命令

docker exec -it containerid cmd

删除镜像

docker rm containerid

复制文件(可双向)

docker cp filename containerid:/filepath

docker-compose将下载镜像以及运行容器一体化构建起来,直接使用docker-compose命令即可轻松创建容器,代表例子是vulhub

# Download project
wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip
unzip vulhub-master.zip
cd vulhub-master

# Enter the directory of vulnerability/environment
cd flask/ssti

# Compile environment
docker-compose build

# Run environment
docker-compose up -d

三、调试环境的搭建
1.对jar包进行远程调试,以behinder.jar(冰蝎主文件)为例子。
先将behinder.jar作为库文件进行反编译,放在lib文件夹里面。

p1
接着配置debug配置,配置如下:
p2
接着在命令行启动相应jar文件,命令如下:
 java --module-path "/Library/Java/JavaVirtualMachines/jdk-13.jdk/javafx-sdk-11.0.2/lib" --add-modules=javafx.controls --add-modules=javafx.fxml --add-modules=javafx.base --add-modules=javafx.graphics --add-modules=javafx.web    -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005  Behinder.jar

这里踩坑,冰蝎已经移除jfx库文件,需要自己下载,因此要自己加上引用来加载module
然后在mainactivity处打上断点,即可进行debug.


p3

2.对docker中的weblogic应用进行远程调试
首先搭建docker容器应用,vulhub/weblogic/cve-2017-10721中修改docker-compose.yml文件


p4

增加8454端口映射
然后直接docker-compose up -d,下载运行容器,然后进入容器内部


p5
然后直接修改配置文件,允许调试
/root/Oracle/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh
p6

接着取相应的代码文件出来配置调试,将/root/Oracle/Middleware
下的modules文件夹以及wlserver_10.3文件夹下面的代码文件压缩,提取出来。


p7

然后照常把两个代码文件放到idea里面,作为库文件添加,然后idea 设置debug配置,设置远程地址为docker容器的主机地址即可。


p8

3.对docker中的tomcat应用进行调试
做法如2,区别在于,让tomcat开启远程调试的方法为

在容器中tomcat配置文件/usr/local/tomcat/bin/catalina.sh插入命令Java_OPTS="agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"

其他如上一摸一样,按部就班即可。

四、项目构建工具
1.Maven基础知识
pom.xml用于陈述项目文件信息,包含开发者信息,项目依赖,组织信息等多方面内容,maven不能没有pom.xml,写pom.xml可以直接在maven仓库查询,如图:

p9
maven可以用于漏洞环境的快速构建,只要写好pom.xml就可以在idea中自动下好环境以及依赖
p10
然后maven->reload project即可自动下载依赖。
2.swagger的作用主要是减轻开发人员维护restful api接口文档的工作量,做接口文档的统一管理
URL:http://Path/swaggerui.html

相关文章

  • 2021-12-06-java代码审计环境准备

    一、JDK的安装下载地址:https://www.oracle.com/java/technologies/dow...

  • 代码审计方法与准备

    代码审计环境准备 本地测试环境:php + mysql 环境。如:phpstudy,wamp等文档编辑器:subl...

  • 2021-12-06-java代码审计初步认知

    一、代码审计的定义代码审计是一种以发现安全漏洞,程序错误和程序违规为目标的源代码分析技能。 二、代码审计需要的能力...

  • 熊海CMS审计

    环境准备 熊海cms的代码直接搜索一下就能下载到,本次实验的环境使用的mac+XAMPP,先总结下审计这套CMS发...

  • 搭建vim源码审计环境

    搭建vim源码审计环境 经过我三天的尝试,vim源码审计环境初步搭建完成(摸鱼三天) 插件 代码补全 其实很少需要...

  • 审计方法与步骤

    1. 环境搭建 1. PHP代码审计 1.1 环境 Package Control(管理其他插件的插件) CTag...

  • 【代码审计】PHP代码审计

    1. 概述 代码审核,是对应用程序源代码进行系统性检查的工作。它的目的是为了找到并且修复应用程序在开发阶段存在的一...

  • 攻防世界-Web-unserialize3

    题目信息: 打开题目环境,得到php代码 审计代码,就是让我们运用__wakeup()函数的漏洞拿flag的。这里...

  • 代码审计

    代码审计工具 1、三款自动化代码审计工具教程2、seay源代码审计系统 PHP核心配置详解 注意PHP各个版本中配...

  • 🎐代码审计

    ?源代码审计分为白盒、黑盒、灰盒 白盒:拥有源代码进行审计黑盒:不知道源代码的情况下进行渗透审计灰盒:介于黑盒与白...

网友评论

    本文标题:2021-12-06-java代码审计环境准备

    本文链接:https://www.haomeiwen.com/subject/ofknxrtx.html