shiro反序列化漏洞利用

漏洞简介

名称 shiro反序列化漏洞利用 编号 CVE-2016-4437 影响版本 Apache Shiro < 1.2.4

漏洞原理

什么是shiro

Apache Shiro 是Java 的一个安全框架。Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE 环境,也可以用在JavaEE 环境。Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与Web 集成、缓存等。

shrio反序列化漏洞的成因

Shiro框架提供了记住我的功能(RememberMe) 用户登录成功后会生成cookie: 举例: cookie:RememberMe:aaabbbcccddd cookie的值会进行序列化>AES加密>base64编码。 当服务器读取我的cookie时,会进行base64解码>AES解密>反序列化。 问题就出在反序列化,当我们在cookie的替换为恶意代码并进行序列化>AES加密>base64编码后,服务器收到cookie会解析代码,在反序列化时触发漏洞。

注意:对于我们AES使用的密钥,一般来说回事shiro的默认密钥。

漏洞复现

啊,靶机关了,不想打开。。。。。 其实挺简单的,有很多成熟的自动化工具。这里简单介绍一下,就不复现了

1使用工具进行漏洞利用

1.在检测目标模块输入目标地址,点击检测当前密钥即可获得AES密钥。 2.在利用方式模块可以选择利用链和回显方式。 3.进入到命令执行模块即可进行命令执行。 4.我们也可以选择在内存马模块写入木马来getshell。

2手动利用

手动利用对用实战环境来说可能有点麻烦了,但是有手动利用可以很好的理解这个漏洞的执行过程。水平不够,这里我就不写了。推个文章给大家参考。

经验分享 程序员 微信小程序 职场和发展