美文网首页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代码审计环境准备

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