Jira SSRF跳转漏洞(CVE-2017-9506)
受影响版本:
Jira < 7.3.5
jira安装参考:https://blog.csdn.net/caiqiiqi/article/details/89017806
安装jira-6.4.14版本:
https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-6.4.14.tar.gz
漏洞点:Atlassian OAuth plugin
漏洞测试方法:不需要登录的情况下,访问
|
参考:http://dontpanic.42.nl/2017/12/there-is-proxy-in-your-atlassian.html
调试
根据文章中的描述,漏洞点在:IconUriServlet。
从jar包中找字符串:
|
也可以定位到./atlassian-jira/WEB-INF/atlassian-bundled-plugins/atlassian-oauth-service-provider-plugin-1.9.8.jar
。
在atlassian-jira-6.4.14-standalone/atlassian-jira/WEB-INF/atlassian-bundled-plugins/atlassian-oauth-service-provider-plugin-1.9.8.jar!/com/atlassian/oauth/serviceprovider/internal/servlet/user/IconUriServlet.class
的doGet()
方法下断点。
jira的特征:
|
一些SSRF跳转的例子:
https://jira.majesco.com/plugins/servlet/oauth/users/icon-uri?consumerUri=https://www.baidu.com
参考
- https://medium.com/@madrobot/ssrf-server-side-request-forgery-types-and-ways-to-exploit-it-part-3-b0f5997e3739
- https://medium.com/bugbountywriteup/piercing-the-veil-server-side-request-forgery-to-niprnet-access-c358fd5e249a
- https://medium.com/@zain.sabahat/exploiting-ssrf-like-a-boss-c090dc63d326
cnnvd上发布了几个jira的漏洞,都是中低危的:
https://mp.weixin.qq.com/s/cylzALSdMPud5-hXqo4mKA
后来才看到这几个漏洞是Talos发现的:
https://blog.talosintelligence.com/2019/09/vuln-spotlight-atlassian-jira-sept-19.html
大量jira的bug漏洞可以参考这里:
https://jira.atlassian.com/browse/JRASERVER-69858?filter=13085
jira的各种REST API文档:
https://docs.atlassian.com/software/jira/docs/api/REST/7.13.0/
CVE-2019-3403:信息泄露(用户名枚举)
The /rest/api/2/user/picker rest resource in Jira before version 7.13.3, from version 8.0.0 before version 8.0.4, and from version 8.1.0 before version 8.1.1 allows remote attackers to enumerate usernames via an incorrect authorisation check.
触发处在创建问题的时候,选择报告人:
参考:https://jira.atlassian.com/browse/JRASERVER-69787
还有其他地方都可以调用这个rest接口:
提供正常登录凭据情况下
可以通过模糊匹配搜索到相关用户的邮箱,及全名等
未授权情况下
对于没有搜索到到用户:
对于搜索到到用户:
可以进行用户名枚举,不过一般wiki在内网的话,可能就是一个正常的功能。
CVE-2019-11584: XSS
The MigratePriorityScheme resource in Jira before version 8.3.2 allows remote attackers to inject arbitrary HTML or JavaScript via a cross site scripting (XSS) vulnerability in the priority icon url of an issue priority.
CVE-2019-11589: open redirect
The ChangeSharedFilterOwner resource in Jira before version 7.13.6, from version 8.0.0 before version 8.2.3, and from version 8.3.0 before version 8.3.2 allows remote attackers to attack users, in some cases be able to obtain a user’s Cross-site request forgery (CSRF) token, via a open redirect vulnerability.
CVE-2019-8446:信息泄露(用户名枚举)
The /rest/issueNav/1/issueTable resource in Jira before version 8.3.2 allows remote attackers to enumerate usernames via an incorrect authorisation check.
这个REST API是在issue Navigator中查询issue的时候用到的。
一般请求长这样:
未复现成功:
需要提供登录凭据:
参考:
https://jira.atlassian.com/browse/JRASERVER-41100
后来参考talos的漏洞报告:
https://www.talosintelligence.com/vulnerability_reports/TALOS-2019-0839
才知道这里的payload应该这样写:
如果这个用户名存在,则会响应200,
若不存在则会响应400。
需要具有查询权限的账号。
CVE-2019-8444 存储型XSS
影响版本:
< 7.13.6,
8.0.0 <= version < 8.3.2
参考:https://www.talosintelligence.com/vulnerability_reports/TALOS-2019-0833
两种payload都是向:
|
第二种:
|
CVE-2017-5983:[Jira]Workflow Designer插件XXE/RCE
官方公告:
https://confluence.atlassian.com/jira/jira-security-advisory-2017-03-09-879243455.html
更多信息参考:
https://nvd.nist.gov/vuln/detail/CVE-2017-5983
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-201704-296
影响版本:
4.2.4 <= version < 6.3.0
漏洞描述:
Atlassian JIRA Server 6.3.0之前的版本中的JIRA Workflow Designer插件存在安全漏洞,该漏洞源于程序没有正确的使用XML过滤器和反序列化转换器。远程攻击者可借助特制的序列化Java对象利用该漏洞执行任意代码,读取任意文件或造成拒绝服务。
CVE-2019-8442:[Jira]未授权敏感信息泄露
只是urlrewrite,不是那种直接读文件的,所以如果请求jsp的话,不会返回源码。只能读到一些不敏感的配置文件,所以影响比较低。
问题在于CachingResourceDownloadRewriteRule
:
CVE-2019-8442:
https://jira.atlassian.com/browse/JRASERVER-69241
官方描述:
The CachingResourceDownloadRewriteRule class in Jira before version 7.13.4, and from version 8.0.0 before version 8.0.4, and from version 8.1.0 before version 8.1.1 allows remote attackers to access files in the Jira webroot under the META-INF directory via a lax path access check.
CNNVD描述:
Atlassian Jira是澳大利亚Atlassian公司的一套缺陷跟踪管理系统。该系统主要用于对工作中各类问题、缺陷进行跟踪管理。
Atlassian Jira 7.13.4之前版本、8.0.4之前版本和8.1.1之前版本中的CachingResourceDownloadRewriteRule类存在安全漏洞。远程攻击者可利用该漏洞访问Jira webroot中的文件。
参考:http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-201905-896
插件下载:
http://central.maven.org/maven2/org/tuckey/urlrewritefilter/4.0.3/urlrewritefilter-4.0.3.jar
其实在lib目录下有。UrlRewriteFilter
It is a very powerful tool just like Apache’s mod_rewrite.
bug bounty作者描述漏洞细节:
the application takes input from the user, and uses it to build a file path to which the user is forwarded. Since the user controls a part of that path, they may be able to direct themselves to sensitive files, like /META-INF/*, application code, or configuration files, which may contain passwords.
只是把用户提供的url在服务端重写了一下,只能访问一些META-INFO目录下的配置文件,jsp的话不能访问源码。
参考:https://www.cnblogs.com/dennisit/p/3177108.html
Demo
然而并不能访问WEB-INF
目录下的文件。
附录
jenkins的基础设施也存在这个问题:
https://issues.jenkins-ci.org/s/thiscanbeanythingyouwant/_/META-INF/maven/com.atlassian.jira/atlassian-jira-webapp/pom.xml
confluence之前爆过这个urlrewrite.xml的任意配置文件读取漏洞:
https://www.exploit-db.com/exploits/39170
不过应该后来一起被修复了。
有人提供了一份源码,从注释里看,这里就是为了防止路径穿越的。
CVE-2018-14383:[jira] “The Scheduler” app 5.1.3 for Jira allows XXE
参考:
https://nvd.nist.gov/vuln/detail/CVE-2018-14383
https://www.compass-security.com/fileadmin/Datein/Research/Advisories/CSNC-2018-022_jira_plugin_the_scheduler.txt
安装插件:
引入xml文件
|
|
CVE-2019-3402:[Jira]XSS in the labels gadget
|
页面的searchOwnerUserName参数的反射型XSS。
需要对searchOwnerUserName
进行过滤。
参考
CVE-2019-3400:[Jira]XSS in the labels gadget
PoC:
|
首先,这个ifr这个gadget的功能就是跟上一个url参数,然后载入这个url页面:
|
然后
|
issueTable这个gadget会反射用户的输入,由于响应的Content-Type为application/json
,不能直接利用。
然后,
|
可以直接访问,而且其中有一段:
We can actually control the this.getPref("projectid")
since the ifr
-gadget allows you to provide parameters called up_X
where X could be projectid
and this.getPref("projectid")
would then return that information.
参考
CVE-2018-20824:[Jira]XSS in WallboardServlet through the cyclePeriod parameter
PoC:
步骤:
查看前端源码,搜索关键字:AJS.WALLBOARD.cycleOptions
但是利用条件是
|
即存在两个或以上的wallboards。
参考
- https://jira.atlassian.com/browse/JRASERVER-69238
- https://duncanhalley.co.uk/blog/building-a-wallboard-in-jira/
CVE-2019-9005:[Jira]路径穿越The Cprime Power Scripts app
影响版本:
Cprime Power Scripts app < 4.0.14
CVSS v3分数:6.5
漏洞描述:
The Power Scripts addon implements a REST API which offers several endpoints for different functionalities. The wfviewer/filecheck and wfviewer/filecontent endpoints, which are used by administrators to check and read local files were found to not check the authorization of the calling user, allowing any authenticated user to probe for and read files from the JIRA server filesystem.
未做好权限控制,导致任意认证的用户访问/读取JIRA服务器文件系统的任意文件。
环境搭建:
这个插件是下载到jira的home目录下。
现在刚下载的这个最新版的插件是不存在漏洞的。要找存在漏洞的版本,需要去:
https://marketplace.atlassian.com/apps/43318/power-scripts-jira-script-automation/version-history
安装
|
完成之后(实际是我从官网下载的)使用以下命令,这里的用户名密码是普通用户的,使用-u参数,可以将用户名密码进行base64编码,作为HTTP头,
PoC来源:https://www.detack.de/en/cve-2019-9005
实际发出的请求为:
|
使用
|
得到指定路径的文件内容,然后将其中的\n
替换成<br>
,然后放到响应中返回。
CVE-2018-13404:[Jira]VerifyPopServerConnection功能SSRF
来源:https://jira.atlassian.com/browse/JRASERVER-68527
描述为:
allows remote attackers who have administrator rights to determine the existence of internal hosts & open ports and in some cases obtain service information from internal network resources via a Server Side Request Forgery (SSRF) vulnerability
由于需要管理员权限才能利用,危害较低,只有4分:
|
若不提供管理员Cookie无法利用:
参考了一下jira的开发文档,知道了一般url后缀对应的是do某方法,然后url前面的是对应的Java的类,所以可以在atlassian-jira-software-7.13.0-standalone/atlassian-jira/WEB-INF/atlassian-bundled-plugins/jira-mail-plugin-10.0.13.jar!/com/atlassian/jira/plugins/mail/webwork/VerifySmtpServerConnection#doAdd
下断点。
调用栈如下:
最终调用atlassian-jira-software-7.13.0-standalone/atlassian-jira/WEB-INF/atlassian-bundled-plugins/base-hipchat-integration-plugin-7.10.3.jar!/javax/mail/Service#connect
调用这一句:
|
完成TCP请求.