=========================================2019.4.19更改=================================================

昨天收到了confluence的一个路径穿越漏洞,所以在此记录,使用本教程的朋友请注意安全,或者升级到高版本,目前还没有尝试高版本的破解

发布时间 2019-04-18

更新时间 2019-04-18

漏洞等级 High

CVE编号 CVE-2019-3398

漏洞详情

Confluence Server和Data Center产品在downloadallattachments资源中存在一个路径穿越漏洞。有权向页面和(或)博客添加附件,或创建新空间或个人空间,或者对空间具有“管理员”权限的远程攻击者可以利用此漏洞将文件写入任意位置,最终导致远程代码执行。

影响范围

影响产品:

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.jarConfluence-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:百度网盘的资源可能过几天就不能使用了,需要的可以私聊我,留言即可

Confluence-6.10.0+Jira-7.13+Crowd-3.2.1最全破解文档,附下载包的更多相关文章

  1. PDF 补丁丁 0.4.1 版:新增嵌入中文字库、替换文档字库的功能

    PDF 补丁丁 0.4.1 版新增了嵌入中文字库.替换文档字库的功能. 嵌入汉字字库 历史上有一批黄底黑字的 PDF 文档.这批文档都具有相同的问题:没有嵌入字库.在一些设备上阅读时显示乱码.复制文本 ...

  2. PDF 补丁丁 0.4.2.1013 测试版发布:修复替换PDF文档字体等问题

    新的测试版修复了若干问题,建议下载了旧测试版的用户更新.修复的问题列表: 替换PDF文档字体可能将字体宽度变成0. 书签编辑器在加载XML书签时不显示对应文档的预览. 自动生成书签功能复制文本筛选器后 ...

  3. 【2017年9月10日更新】ABP配套代码生成器(ABP Code Generator)帮助文档,实现快速开发

    ABP代码生成器介绍 ABP Code Generator 针对abp这个框架做了一个代码生成器,功能强大.分为两大功能点,一个是数据层,一个是视图层. 数据服务层:通过它,可以实现表设计.领域层初始 ...

  4. OllyScripts 0.92帮助文档

    -------------------------------Olly脚本插件v0.92 制作: SHaG文档汉化:ZMWorm[CCG][TT]E-Mail:TranslationTeam[at]1 ...

  5. Android开发之深入理解Android 7.0系统权限更改相关文档

    http://www.cnblogs.com/dazhao/p/6547811.html 摘要: Android 6.0之后的版本增加了运行时权限,应用程序在执行每个需要系统权限的功能时,需要添加权限 ...

  6. css2.0文档查阅及字体样式

    css2.0文档查阅下载     网址:http://soft.hao123.com/soft/appid/9517.html <html xmlns="http://www.w3.o ...

  7. Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南

    Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南 Update : 2019.03.08 0. 环境说明 硬件:Ryzen R ...

  8. "/usr/local/openresty/nginx/html/index.html" is forbidden (13: Permission denied), client: 10.0.4.118, server: localhost, request: "GET / HTTP/1.1"

    openrestry 安装之后 报"/usr/local/openresty/nginx/html/index.html" is forbidden (13: Permission ...

  9. tensorflow-gpu 1.13 提示找不到 libcublas.so.10.0 的问题

    tensorflow-gpu 使用 1.13.1,cuda-10-0已安装好,但启动时依然报错 ImportError: libcublas.so.10.0: cannot open shared o ...

随机推荐

  1. 【Mac】-NO.161.Mac.1 -【MacOS Error running 'Tomcat 8.5.371': Cannot run program Permission denied】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  2. 获奖感想与Java阶段性学习总结

    获奖感想 其实我早就知道有小黄衫这个东西,而且它就在我的目标清单里,不过没想到娄老师发的这么早.我想小黄衫代表着的是老师对我这一阶段来学习成果和努力的肯定,虽然Java学习中付出很多时间精力,现在也值 ...

  3. spring-data-radis错误

    org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested ...

  4. 1.1大数据平台架构及Hadoop生态圈

    1.硬件架构实例 2.软件架构实例 3.数据流通用概念模型 a.数据源(互联网.物联网.企业数据):App.Device.Site b.数据收集(ETL.提取.转换.加载):Flume.Kafka.S ...

  5. React组件绑定this的三种方法

    我们在使用React组件时,调用方法常常用到this和event对象,默认情况是不会绑定到组件上的,需要特殊处理. 节点上使用bind绑定 特点:该方法会在每次渲染组件时都会重新绑定一次,消耗一定的性 ...

  6. IDEA 破解_补丁永久_2018.3

           主要是Eclipse我已经玩坏了三次了,切换jdk8到jdk10,再切换到jdk8,大量文件乱码,怎么改都没用,有的时候Eclipse久了不用,项目放在里面发霉了,坏掉了,MMP,换到I ...

  7. mvc jquery ajax传递数组null问题

    mvc jquery ajax传递数,  areaIds是个int数组.后台action用list<int>接收.当我想传空值时,先用null传递,结果action收到的AreaIds竟然 ...

  8. GDI和内核对象区别

    1.GDI对象和核心对象之间最主要的区别在于GDI对象有单一拥有者,不是进程就是线程 2.核心对象可以有一个以上的拥有者,甚至可以跨进程,为了保持对每一位(拥有者)的追踪,核心对象保持了一个引用计数, ...

  9. java多线程之AtomicLong与LongAdder

    AtomicLong简要介绍 AtomicLong是作用是对长整形进行原子操作,显而易见,在java1.8中新加入了一个新的原子类LongAdder,该类也可以保证Long类型操作的原子性,相对于At ...

  10. Docker从零构建php-nginx-alpine镜像

    虽然之前也曾用docker环境运行了一些项目,但对于镜像这块还不是很理解,且鉴于网上现成的镜像都包含太多用不到的库,所以决定从零开始构建一个自己的镜像. alpine linux为基础镜像 docke ...