0. 前言
本文是为了研究Confluence的一些漏洞,在CentOS8 docker环境上安装Confluence的远程调试环境。
1. 安装CentOS8镜像
1.1 拉取镜像
xxxxxxxxxx
11sudo docker pull centos
1.2 以特权模式启动容器
Confluence默认以8090端口启动,所以需要在docker中转发8090端口。tomcat调试选择5050端口。
xxxxxxxxxx
11sudo docker run -d -p 8090:8090 -p 5050:5050 --privileged=true --name confluence_7.12.4_privileged imageID /usr/sbin/init
2. docker中安装open-jdk-11
2.1 安装JDK
Confluence7需要JDK8或者JDK11,此处随意选择JDK11。
xxxxxxxxxx
11yum install java-11-openjdk-devel -y
2.2 设置JAVA_HOME
修改~/.bashrc
,添加以下内容,具体目录需要自行修改:
xxxxxxxxxx
11JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el8_4.x86_64
3. docker中安装mysql8
3.1 安装mysql
Confluence 7 可以选择MYSQL5.7或者MYSQL8,此处随意选择MYSQL8,下面命令由于是最新的centos 8源,所以会自动为MYSQL8
xxxxxxxxxx
11yum install -y mysql mysql-server
3.2 创建数据库以及配置修改
xxxxxxxxxx
31create database confluence; # 创建数据库
2ALTER DATABASE confluence CHARACTER SET utf8 COLLATE utf8_bin # 修改数据库编码,Confluence需要
3SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED #READ-COMMITED as default isolation level.
4. docker中安装Confluence 7.12.4
4.1 下载Confluence 7.12.4
4.2 修改Confluence home目录
home目录用于存放日志、临时文件和运行时的一些数据等等。找到confluence/WEB-INF/classes/confluence-init.properties
文件,修改最后一行,注意去掉注释符号:(#)
xxxxxxxxxx
31# specify your directory below (don't forget to remove the '#' in front)
2
3confluence.home=/opt/confluence/data
4.3 添加tomcat debug配置
找到bin/setenv.sh
,添加以下内容,address是上文中设置的暴露端口:
xxxxxxxxxx
11CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5050 ${CATALINA_OPTS}"
4.4 安装MYSQL8 Java驱动
去https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz下载,解压到lib
目录下
4.4 访问 8090端口,完成设置
5. IDEA调试配置
5.1 复制confluence目录到IDEA
xxxxxxxxxx
11sudo docker cp 5d126869c5a9:/opt/atlassian-confluence-7.12.4/confluence confluence7
5.2 配置remote debug
Host为Confluence服务器IP。 Port为tomcat的debug端口。
5.3 配置依赖库
将WEB-INF目录下的三个文件夹加入依赖库。
5.4 选择LoginAction测试是否设置成功
Comments NOTHING