=========================================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:百度網盤的資源可能過幾天就不能使用了,須要的能夠私聊我,留言便可