【漏洞复现】shiro 反序列化 (CVE-2016-4437)

漏洞介绍

Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro易于理解的API,开发者可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序

在Shiro <= 1.2.4中,反序列化过程中所用到的AES加密的key是硬编码在源码中,当用户勾选RememberMe并登录成功,Shiro会将用户的cookie值序列化,AES加密,接着base64编码后存储在cookie的rememberMe字段中,服务端收到登录请求后,会对rememberMe的cookie值进行base64解码,接着进行AES解密,然后反序列化。由于AES加密是对称式加密(key既能加密数据也能解密数据),所以当攻击者知道了AES key后,就能够构造恶意的rememberMe cookie值从而触发反序列化漏洞

poc

使用burp抓取当前页面数据包,在cookie中添加rememberMe=1,在响应包中显示两个Set-Cookie: rememberMe=deleteMe,说明存在shiro框架可能存在漏洞
【漏洞复现】shiro 反序列化 (CVE-2016-4437)_第1张图片

exp

我的vm虚拟机 kali IP: 192.168.100.131

我的花生壳 映射外网地址 103.46.128.21:49040-> 192.168.100.131:8888

你可能感兴趣的:(优秀文章,bash,linux,开发语言,shiro,反序化)