=========================================2019.4.19更改=================================================java
昨天收到了confluence的一个路径穿越漏洞,因此在此记录,使用本教程的朋友请注意安全,或者升级到高版本,目前尚未尝试高版本的破解mysql
发布时间 2019-04-18linux
更新时间 2019-04-18web
漏洞等级 Highsql
CVE编号 CVE-2019-3398数据库
漏洞详情apache
Confluence Server和Data Center产品在downloadallattachments资源中存在一个路径穿越漏洞。有权向页面和(或)博客添加附件,或建立新空间或我的空间,或者对空间具备“管理员”权限的远程攻击者能够利用此漏洞将文件写入任意位置,最终致使远程代码执行。vim
影响范围windows
影响产品:浏览器
Confluence Server、Confluence Data Center
影响版本:
6.6.14以前的全部版本
全部6.7.x-6.11.x版本
6.12.4 以前的全部6.12.x版本
6.13.4 以前的全部6.13.x版本
6.14.3 以前的全部6.14.x版本
6.15.2 以前的全部6.15.x版本
修复方案
注意:安装升级前,请作好数据备份、快照和测试工做,防止发生意外
1.升级Confluence Server或Data Center版本:
6.6.13
6.13.4
6.14.3
6.15.2
2.执行官方缓解措施:
1)中止Confluence
2)编辑/conf/server.xml:
若是没有为 Confluence 配置 context path,则将如下代码添加至 元素中:
<Context path="/pages/downloadallattachments.action" docBase="" >
<Valapp className="org.apache.catalina.valapps.RemoteAddrValapp" deny="*" />
</Context>
若是已为 Confluence 配置了 context path,好比说 /wiki,则须要将如下代码添加至 元素中:
<Context path="/wiki/pages/downloadallattachments.action" docBase="" >
<Valapp className="org.apache.catalina.valapps.RemoteAddrValapp" deny="*" />
</Context>
3)保存文件,重启Confluence验证缓解措施是否生效:
访问含有2个或以上附件的页面/博客,点击… > 附件 > 下载所有,若返回404页面,则说明缓解措施已生效。
我目前已经将confluence升级到6.14.3 jira升级到了8.1.按照以前的办法依然可行,备份数据的时候出了一点小问题,抽空来记录一下
环境准备
$ yum -y install mariadb mariadb-devel mariadb-server $ systemctl start mariadb
安装JDK而且配置环境
$ tar xf jdk-8u181-linux-x64.tar.gz -C /usr/local/ $ rpm -qa | grep java $ ln -s /usr/local/jdk1.8.0_181/ /usr/local/java $ vim /etc/profile.d/jdk.sh export JAVA_HOME=/usr/local/java export JRE_HOME=$JAVA_HOME/jre export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin $ source /etc/profile.d/jdk.sh $ java -version java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
数据库受权
$ create database confluence character set utf8 collate utf8_bin; $ create database jira character set utf8 collate utf8_bin; $ create database crowd character set utf8 collate utf8_bin; $ grant all privileges on confluence.* to 'confluence'@'localhost' identified by 'Qy123456.'; $ grant all privileges on confluence.* to 'confluence'@'%' identified by 'Qy123456.'; $ grant all privileges on jira.* to 'jira'@'localhost' identified by 'Qy123456.'; $ grant all privileges on jira.* to 'jira'@'%' identified by 'Qy123456.'; $ grant all privileges on crowd.* to 'crowd'@'localhost' identified by 'Qy123456.'; $ grant all privileges on crowd.* to 'crowd'@'%' identified by 'Qy123456.'; $ flush privileges;
Confluence的安装
$ wget https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-6.10.0-x64.bin $ chmod +x chmod +x atlassian-confluence-6.10.0-x64.bin $ ./atlassian-confluence-6.10.0-x64.bin
破解jar包
$ mv /opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar /opt/
将这个包拷贝到/opt下,而后下载到windows系统中
下载java虚拟机
在这个网站http://www.java.com/zh_CN/上下载最新版虚拟机
安装完下载的java虚拟机
下载破解器(Windows上操做)
https://pan.baidu.com/s/1xlad7bMAh-RjZHeJdinc5A
解压后,点击confluence_keygen.jar
打开显示以下界面,而后经过.patch!选择刚才拷贝的atlassian-extras-decoder-v2-3.4.1.jar(更名为atlassian-extras-2.4.jar)
将产生的新的atlassian-extras-2.4.jar上传wiki服务器的/opt/atlassian/confluence/confluence/WEB-INF/lib下,同时修改回原来的名字
$ mv atlassian-extras-2.4.jar /opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.3.0.jar
同时将mysql-connector-java-5.1.44-bin.jar和Confluence-6.0.0-m22-language-pack-zh_CN.jar也上传到/opt/atlassian/confluence/confluence/WEB-INF/lib
重启服务
$ service confluence restart
浏览器访问 ip:8090
将上图得到Server ID 经过破解器得到Key,而后复制粘贴
Name:能够随便填
Server ID:就是以前记录的Server ID
点击“.patch”选中atlassian-extras-2.4.jar
点击“.gen!”生成key
记下生成的key
等待完成
Jira的安装
https://www.atlassian.com/software/jira/download-archives
破解包步骤如Confluence(/opt/atlassian/jira/atlassian-jira/WEB-INF/lib/atlassian-extras-3.2.jar 拷贝到Windows系统上,更名为atlassian-extras-2.2.2.jar,使用工具破解,成功后,上传源目录,并改成原名。上传
mysql-connector-java-5.1.44-bin.jar )
要先将mysql-connector-java-5.1.44-bin.jar拷贝到/opt/atlassian/jira/atlassian-jira/WEB-INF/lib目录下
测试成功以后,点击下一步
在这一步的时候,破解jar包,方法同Confluence
atlassian-extras-3.2.jar
设置帐号密码
等待完成
设置语言
设置头像,进行下一步
建立一个简单项目
开启jira管理
设置--->系统 修改语言
Crowd的安装
下载Crowd-3.2.1
$ wget https://www.atlassian.com/software/crowd/downloads/binary/atlassian-crowd-3.2.1.tar.gz
解压
$ tar -zxvf atlassian-crowd-3.2.1.tar.gz -C /usr/local $ ln -s /usr/local/atlassian-crowd-3.2.1/ /usr/local/crowd
配置环境
$ vim /usr/local/crowd/crowd-webapp/WEB-INF/classes/crowd-init.properties #取消注释 crowd.home=/var/crowd-home $ mkdir /var/crowd-home
破解jar包,步骤如Confluence(/usr/local/crowd/crowd-webapp/WEB-INF/libatlassian-extras-3.2.jar更名为atlassian-extras-2.6.jar,破解完改完名,放回原位置,同时上传mysql-connector-java-5.1.44-bin.jar)
启动Crowd
/usr/local/crowd/start_crowd.sh
访问IP:8095
使用crowd_keygen.jar获取秘钥,方法如Confluence
登陆
Crowd搭建完成
Jira+Confluence基于Crowd登陆
在Crowd上建立组:
confluence-usersconfluence-administrators
jira-usersjira-developersjira-administrators
建立用户:
在confluence-administratorsconfluence-users组中添加confluenceadmin
在jira-usersjira-administratorsjira-developers组中添加jiraadmin
给用户添加组
confluence报错
隔离级别
若是出现mysql的数据库隔离级别必须为'READ-COMMITTED',进行以下操做便可
MariaDB [(none)]> SET GLOBAL tx_isolation='READ-COMMITTED'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.02 sec) 或者 [mysqld] ··· transaction-isolation=READ-COMMITTED
···
乱码
$ vim /var/atlassian/application-data/confluence/confluence.cfg.xml <property name="hibernate.connection.url">jdbc:mysql://10.30.162.127:3306/confluence?useUnicode=TRUE&characterEncoding=utf-8&autoReconnect=TRUE</property> $ systemctl restart confluence
调整数据库的语言
$ vim /etc/my.cnf character-set-server=utf8 collation-server=utf8_bin $ systemctl restart mariadb
可能以前建立的空间还不能加载过来,建立新的空间,再次查看,中文正常显示
PID问题
启动遇到PID的问题。没法正常启动
$ rm -rf /opt/atlassian/confluence/work/catalina.pid $ systemctl restart confluence
Dashboard没法显示
PS:百度网盘的资源可能过几天就不能使用了,须要的能够私聊我,留言便可