本篇文章为你整理了碰到shiro反序列化漏洞,大家都是怎么解决的(shiro反序列化复现)的详细内容,包含有shiro反序列化综合利用工具 shiro反序列化复现 shiro反序列化 shiro721反序列化 碰到shiro反序列化漏洞,大家都是怎么解决的,希望能帮助你了解 碰到shiro反序列化漏洞,大家都是怎么解决的。
项目是借用一个开源项目,然后被发现有shiro反序列化漏洞,如下图:
有了以上漏洞,就可以在服务器执行任意指令。如下图:
解决过程:
1、升级shiro到最新版本1.9.1,却发现还是可以挂马;
2、查开源代码,发现代码里面有指定密钥(可能是早期版本的shiro需要吧),如下:
cookieRememberMeManager.setCipherKey(Base64.decode("fCq+/xW488hMTCD+cmJ3aQ==")); 删除后,改成随机密钥。
3、用shiro反序列化漏洞工具扫描,已经无法直接挂马,但还是有两点,可以扫描发现shiro框架,可以爆力穷举密钥。如下图:
当然16字节的密钥,是不是很稳,这个就不讨论了。
所谓不怕贼偷就怕贼惦记。
然后就试了能不能优化,
改rememberMe关键字,但是用postman,在返回cookie里面可以轻松找到关键字;
然后再用工具 ,假设有耐心的情况下,依然可以完美入侵,如下图:
了解shiro反序列化漏洞的原理知道,攻击者是通过cookie攻击,再进行反序列化的利用,这里也没有找到如何关闭rememberMe功能,
就打印了一下cookie的内容
发现攻击者是先尝试发一个rememberMe,检测是否有shiro框架可以利用。
如果有shiro框架,就发第二段cookie内容,rememberMe的值是一段攻击代码,做了base64加密
既然这样,
干脆就拦截删除rememberMe的cookie值,
当然,您们也可以对所有开放的路径做个性化的处理,
(如果您们有其他办法,欢迎一起讨论讨论)
以上就是碰到shiro反序列化漏洞,大家都是怎么解决的(shiro反序列化复现)的详细内容,想要了解更多 碰到shiro反序列化漏洞,大家都是怎么解决的的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。