1. 首页
  2. 网络安全技术

渗透测试:XSLT注入到Getshell

本文分享的是一个XSLT注入漏洞,漏洞存在于Ektron CMS 8.02的Saxon组件中,攻击者利用该漏洞,可造成SSRF甚至RCE。但研究者发现Metasploit上的exp似乎无法利用,漏洞已被修补。后来经过摸索,进一步做信息收集,最终获取RCE。

国外某研究人员应邀給一个大型组织做Web渗透测试。经过简单的信息收集,发现该Web应用较为简单,没有明显的缺陷。

进一步搜寻测试后,研究人员使用dirbuster(目录扫描器)发现了一个有趣的JavaScript文件,查阅文件内容显示应用程序为:Ektron CMS 8.02

简单搜索因特网,研究人员在Microsoft Research Advisory上找到关于该CMS的一些漏洞信息:

当Ektron Web CMS 的XslCompiledTransform类处理用户控制的XSL数据时,可能会导致容易代码执行

存在漏洞的页面:

https://www.agesec/WorkArea/ContentDesigner/ekajaxtransform.aspx

目标确实存在这个页面,它可能可以存在漏洞。下一步,研究人员开始枚举目标服务器上的XSLT解析引擎,通过Burp发送一个POST请求,同时在Body处插入XSLT有效载荷:

xslt=<?xml version="1.0" encoding="ISO-8859-1"?>
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="/">
 <html>
 <body>
 Version: <xsl:value-of select="system-property('xsl:version')" />
 Vendor: <xsl:value-of select="system-property('xsl:vendor')" />
 Vendor URL: <xsl:value-of select="system-property('xsl:vendor-url')" />
 </body>
 </html>
 </xsl:template>
 </xsl:stylesheet>

页面反馈:

Version: 1
Vendor: Microsoft
Vendor URL: http://www.microsoft.com

尝试通用Exp

此时,已经表明为Microsoft XSLT解析器。紧接着,研究人员在Metasploit上找到一个模块,可用于此攻击。设置完毕参数后,exploit,但没有返回结果。可初步判断,目标应用上的这个漏洞已修补,无法被利用,但研究者并没有放弃,查看Metasploit发送的请求:

渗透测试:XSLT注入到Getshell

很容易看出,它会调用一个有趣的脚本:

<msxsl:script language =“C#”implements-prefix =“user”>

Microsoft XSLT 似乎可以运行C#。通过脚本元素,可以在XSLT文档或其他带外扩展中嵌入C#恶意代码。

文章来源:【安全时代】 原文链接:https://www.agesec.com/article/6907.html

安全时代全部内容仅适用于网络安全技术爱好者学习研究,学习中请遵循国家相关法律法规。

安全时代全部数据来源互联网,不代表安全时代立场,如侵犯您权益可邮箱联系我们,详情:版权纠纷

发表评论

电子邮件地址不会被公开。 必填项已用*标注