CVE-2017-7415:[Confluence]未授权信息泄露(低版本)
官网公告:
https://confluence.atlassian.com/doc/confluence-security-advisory-2017-04-19-887071137.html
官方漏洞追踪:
https://jira.atlassian.com/browse/CONFSERVER-52222
其他信息
https://nvd.nist.gov/vuln/detail/CVE-2017-7415
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-201704-023
exploit:
https://github.com/allyshka/exploits/blob/c1f5f0dfa2494001e7c3cffabfbf0219b0e35e08/confluence/CVE-2017-7415/README.md
影响范围:
6.0.0 <= version < 6.0.7
cnnvd描述:
Atlassian Confluence 6.0.7之前的6.x版本中存在安全漏洞。远程攻击者可利用该漏洞绕过身份验证,读取任意日志或页面。
直接一个请求:
|
可访问任意博客/Pages页面。
比如:
这个页面:http://cqq.com:8090/pages/viewpage.action?pageId=65546
需要登录才能访问
而如果通过这个url去访问:
http://cqq.com:8090/rest/tinymce/1/content/65546/draft/diff
可以直接访问到
调试
查看代码:confluence-6.0.6/plugins-osgi-cache/transformed-plugins/confluence-editor-6.0.6_1487721990000.jar!/com/atlassian/confluence/tinymceplugin/rest/PageResource#getDraftDiff
可以发现这个路径是允许匿名用户访问的:
附录
看url中出现的:/rest/tinymce/1/content
,查了一下tinymce原来是一个富文本编辑器:
附录
Atlassion产品最近bugs:
https://jira.atlassian.com/browse/JRASERVER-69238?filter=13085
jira/confluence漏洞复现笔记
当一个jira或者confluence的cve出来的时候,可能当时只有漏洞描述,没有复现步骤,需要自己定位到漏洞点。
我一般是通过
|
引号里填漏洞所在url,或者类名。
一般会在WEB-INF/web.xml
中找到url对应的处理类:
比如我通过官方的描述,知道了CVE-2019-8446的触发点是/rest/issueNav/1/issueTable
,那我就搜/rest/issueNav
,然后在WEB-INF/web.xml
中找到了对应的处理类/过滤器名
然后根据过滤器的名字搜索类
再根据类名定位到具体的文件中,可能是jar包形式,也可能是.class文件形式。
然后再去IDEA中下断点。
还有一个办法就是直接去日志里查调用栈(如果出错的话)
如果只知道一个关键方法的名字,可以先搜它在哪个jar包中
确定jar包之后, 再用反编译工具将jar包反编译你成java代码,再搜索,确定其具体的路径,定位到具体的文件。