当时看这个Atlassian官方安全公告的时候,好像大家关注的主要是3396,而忽略了3395。而且到目前为止,除了官方的描述,网上没有关于这个漏洞的更多描述。

而且NVD上也是有9.8的高分

这个漏洞没有3396那样影响那么广的版本。根据官方描述,它的影响范围是:

  • version < 6.6.7
  • 6.7.0 <= version < 6.8.5(6.8.x的修复版)
  • 6.9.0 <= version < 6.9.3(6.9.x的修复版)

WebDAV Plugin介绍

This plugin provides a WebDAV interface to Confluence. With it, you can interact with Confluence content via a WebDAV client.

参考:https://ecosystem.atlassian.net/wiki/spaces/WBDV/overview


在6.0.x上并没有发现这个功能,后来看官方文档才知道原来6.1.x才有。
6.0.x需要去附件那里编辑。
在IDE中运行的时候需要加上这个参数:

-Dwebdav.host=localhost -Dhttp.port=8080 -Dwebdav.port=8080 -Dwebdav.context=confluence -Dwebdav.resource.path.prefix=/plugins/servlet/confluence/default

参考:
https://bitbucket.org/atlassian/confluence-webdav-plugin/src/master/

参考:
http://confluence.gjingao.com/pages/viewpage.action?pageId=327983
意思应该是本地写好之后自动上传?
参考:
https://confluence.atlassian.com/conf613/edit-files-964960723.html

需要下载一个client:
Mac版:
https://update-nucleus.atlassian.com/Atlassian-Companion/291cb34fe2296e5fb82b83a04704c9b4/darwin/x64/Atlassian%20Companion-0.6.2.dmg
Windows:
https://update-nucleus.atlassian.com/Atlassian-Companion/291cb34fe2296e5fb82b83a04704c9b4/latest/win32/ia32/Atlassian%20Companion.exe

跟踪

定位到插件所在jar包。

➜  atlassian-confluence-6.0.6 find . -name *.jar|grep webdav
./confluence/WEB-INF/atlassian-bundled-plugins/webdav-plugin-4.3.1.jar

缓解措施

官方说可以禁用这个插件以缓解这个漏洞,然后有评论说在系统插件管理中禁用之后,重启依然又开启了。

注意事项

  • 禁用WebDAV插件也会禁用Office Connector插件:

Due to a security advisory it is required to disable WebDAV add-on in case if the instance cannot be upgraded. During the disabling, the Office Connector add-on will also be disabled (viewxls macro will not work) as this is linked requirement of WebDAV add-on. Enabling Office Connector will also enable WebDAV add-on.

  • 在WebDAV的通信过程中有大量的PROPFIND HTTP方法,
PROPFIND /plugins/servlet/confluence/default/Global/ds/%E6%9C%AA%E5%91%BD%E5%90%8D%E6%96%87%E4%BB%B6%E5%A4%B9/ HTTP/1.1
Host: cqq.com:8090
Content-Type: text/xml
User-Agent: </userAgent>xxxx<userAgent>
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 186<?xml version="1.0" encoding="utf-8"?>
<D:propfind xmlns:D="DAV:">
<D:prop>
<D:getlastmodified/>
<D:getcontentlength/>
<D:creationdate/>
<D:resourcetype/>
</D:prop>
</D:propfind>

那么这个方法是做什么用的呢?
参考:
What is HTTP Method PROPFIND used for?

Web Distributed Authoring and Versioning (WebDAV) is an extension of the Hypertext Transfer Protocol (HTTP) that facilitates collaboration between users in editing and managing documents and files stored on World Wide Web servers.
PROPFIND — used to retrieve properties, stored as XML, from a web resource. It is also overloaded to allow one to retrieve the collection structure (a.k.a. directory hierarchy) of a remote system.

WebDAV协议是对HTTP协议的一种扩展。PROPFIND方法用来从WEB资源中获取XML形式的属性,也用来拿到远端某个目录的结构。

使用WebDAV客户端的好处是可以批量操作:批量删除、批量添加附件。
参考:https://confluence.atlassian.com/doc/use-a-webdav-client-to-work-with-pages-200704169.html

新建目录:

MKCOL /plugins/servlet/confluence/default/Global/ds/hhh_dir2 HTTP/1.1
Host: cqq.com:8090
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 0
Connection: close


查看confluence发现已经生成了新目录。

移动目录:

MOVE /plugins/servlet/confluence/default/Global/ds/hhh_dir2/ HTTP/1.1
Host: cqq.com:8090
Accept: */*
Destination: http://cqq.com:8090/plugins/servlet/confluence/default/Global/ds/hhh_dir2_new
Authorization: Basic YWRtaW46YWRtaW4=
Connection: close


confluence上已经修改了:

参考:
https://tools.ietf.org/html/rfc4918#section-9.3

查看这个WebDAV服务支持哪些方法:

OPTIONS /plugins/servlet/confluence/default/ HTTP/1.1
Host: cqq.com:8090
User-Agent: 37110.py
Connection: close
Authorization: Basic Y3FxOmNxcQ==

注意必须加path和Authorization信息。

有人猜测WebDAV实际是Office的Edit in Office的支撑功能。也就是说在使用Edit in Office功能的时候,背后用到了WebDAV协议来进行通信。

参考:
https://jira.atlassian.com/browse/CONFSERVER-58070

往目录写文件:

PUT /plugins/servlet/confluence/default/Global/ds/new_dir/test_confl7.txt HTTP/1.1
Host: cqq.com:8090
User-Agent: WebDAVFS/3.0.0 (03008000) Darwin/17.7.0 (x86_64)
Authorization: Basic Y3FxOmNxcQ==
Content-Length: 20
Connection: closewhatever content

在网上发现webdav插件的git仓库:
https://bitbucket.org/atlassian/confluence-webdav-plugin/
clone下来看一下:

找到一个特殊的分支,看着这个时间和漏洞披露的时间,应该是用来专门解决这个Confluence的SSRF的。

参考

  • https://jira.atlassian.com/browse/CONFSERVER-58070
  • https://jira.atlassian.com/browse/CONFSERVER-57971
  • https://confluence.atlassian.com/doc/use-a-webdav-client-to-work-with-pages-200704169.html
  • https://confluence.atlassian.com/doc/configuring-a-webdav-client-for-confluence-148044.html
  • https://bitbucket.org/atlassian/confluence-webdav-plugin/commits/branch/issue/CONFSERVER-57488-pre-auth-ssrf?page=1
  • https://bitbucket.org/atlassian/confluence-webdav-plugin/commits/701ef5f60d1aceaa33f276ec95728a4c126208c5?at=issue/CONFSERVER-57488-pre-auth-ssrf
  • https://bitbucket.org/atlassian/confluence-webdav-plugin/commits/b338cd29bd01fc90c3637525c1a17eede02e079c
  • https://www.exploit-db.com/exploits/37110

https://freewechat.com/profile/MzU5NDgxODU1MQ==

CVE-2019-3395:[Confluence] SSRF via WebDAV endpoint相关推荐

  1. Confluence 6 使用 WebDAV 客户端来对页面进行操作

    下面的部分告诉你如何在不同的系统中来设置原生的 WebDAV 客户端,这个客户端通常显示在你操作系统的文件浏览器中,例如,Windows 的 Windows Explorer 或者 Linux 的 K ...

  2. Visial Studio 2019提示:namespace std 没有成员 max 的解决方法

    Visial Studio 2019提示:namespace "std" 没有成员 "max",而标准库在<algorithm>头文件中定义了两个模 ...

  3. 2019规划:放下所有,轻松上阵,大胆尝试,勇于实践,经商赚钱,考证提高,随时煅炼

    2018总结:开拓 创造了良好的开头,形成了积极的局面.在思想.收入.学习.考证等方面取得了过去10年中前所未有的成就.树立了 "内心强大.心诚则灵.理论与实践相结合"的观念.身体 ...

  4. 《三、企业级知识管理系统:Confluence配置邮箱服务》

    文章目录 一.配置邮件服务器 总结:整理不易,如果对你有帮助,可否点赞关注一下? 一.配置邮件服务器 1.进入 > 一般配置 > 邮件服务器 2.测试邮件发送 如下图所示:表示邮件发送成功 ...

  5. 考研计算机学硕370分,2019考研:初试考360-380分,在考研成绩中属于什么水平?...

    原标题:2019考研:初试考360-380分,在考研成绩中属于什么水平? 2019年考研已经落下帷幕,相信很多的考生都已经或多或少对过答案,相信很多的考生也对自己的考试成绩有了一定的估算.如果你的估分 ...

  6. 内网多人协同办公软件:confluence安装(完整版)

    参考链接: windows安装教程: confluence 完整安装教程 软件下载链接: confluence JDK8 支持正版的工具 mysql-connector-java.jar 注意事项 拷 ...

  7. 同济大学和东南大学计算机哪个好,2019高考:同为985/211的东南大学和同济大学哪个更好?...

    原标题:2019高考:同为985/211的东南大学和同济大学哪个更好? 距离高考时间还有14天了,不知道学子们复习的怎么样了?我相信现在每个家长都在为自己的孩子寻找着合适的大学,今天小编就为大家说说这 ...

  8. 《五、企业级知识管理系统:Confluence权限管理》

    文章目录 一.权限背景 二.权限分类 三.权限配置 总结:整理不易,如果对你有帮助,可否点赞关注一下? 一.权限背景 因为公司对知识的管理不仅是简单的分享,还要求不同权限的人看到不同的内容,所以在一开 ...

  9. 广工计算机考研试卷哪里,广东2019考研:计算机考研题型与试卷结构详细介绍...

    2019考研备考的时间转眼已经过去一半,前期基础备考阶段期间,不知同学们对考研是否真正的做出了解,中公考研小编整理了关于考研初试计算机考研题型与试卷结构详细介绍的考研常识文章,希望同学们能对这部分有所 ...

最新文章

  1. CMD命令行下载文件
  2. 如何在工作中快速成长?致工程师的10个简单技巧
  3. SpringBoot最佳实践-dev-tools
  4. UIView的旋转iOS开发
  5. Sublime Text批量删除空白行
  6. 在C#中嵌入Flash对象时遇到未能导入activex 控件的问题
  7. epoll模型与select模型的区别(宿管大妈的例子)
  8. 蓝桥杯ADV-172 算法提高 身份证排序
  9. Emacs之multi-occur(替代grep)
  10. Visual Studio 2015 移动跨平台开发初体验
  11. 【opencv+C++】在图像中找四边形
  12. 分情况分析消防应急照明灯具是否可以两者兼备
  13. 深度学习面试题之LSTM补充
  14. RS485/RS422接线图
  15. 【学习笔记 1】集成电路发展及其设计制造流程(ICer必备)
  16. SpringBoot整合oracle报错异常信息(java.lang.AbstractMethodError: oracle.jdbc.driver.T4CConnection.isValid(I))
  17. PostgreSQL:六. PostgreSQL函数
  18. [剑指Offer]丑数[Python]
  19. 【海思篇】【Hi3516DV300】二、使用串口烧写映像
  20. tcl/tk参考——tcl内建命令

热门文章

  1. NLP第一课(我也是才开始学)
  2. 复位、时钟、存储器和总线————————ARM微控制器与嵌入式系统清华大学慕课记录
  3. Fedora12下搭建Qt Creator的ARM开发环境 并 移植Qt4.6.2到Micro2440
  4. 绝地求生pubg崩溃,无法开始游戏怎么办
  5. 语法体系:你不可不知的将来进行时与现在进行时的区别day4
  6. 头条权重如何在线查询,头条权重为0怎么办
  7. 那些升职快的人,都拥有这4种特质
  8. An Improved Res-UNet Model for Tree Species Classification Using Airborne High-Resolution Images论文理解
  9. 解决 命令行程序 中文英文不对齐的情况
  10. 弘辽科技:如何抢占平台流量?提升人货匹配效率