点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!
背 景
本地某系统使用了Apache Shiro,Shiro 提供了记住我(RememberMe)的功能,下次访问时无需再登录即可访问。系统将密钥硬编码在代码里,且在官方文档中并没有强调修改该密钥,导致使用者大多数都使用了默认密钥。
攻击者可以构造一个恶意的对象,并且对其序列化、AES加密、base64编码后,作为cookie的rememberMe字段发送。Shiro将rememberMe进行解密并且反序列化,最终造成反序列化漏洞,进而在目标机器上执行任意命令。
漏洞修复
KeyGenerator keygen = KeyGenerator.getInstance("AES");
SecretKey deskey = keygen.generateKey();
System.out.println(Base64.encodeToString(deskey.getEncoded()));
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129152.html
摘要:关于的自动对用户对象序列化并加密当获得请求时能够获取反序列化且解密之后的用户对象。 shirorememberMe流程原理研究 输入用户密码正儿八经登录时, 如果勾选了记住我, 则后台给shiro设置rememberme showImg(https://segmentfault.com/img/remote/1460000012800157); 前一次登录勾选了记住我, 则本次登录时...
摘要:写在前面在一款应用的整个生命周期,我们都会谈及该应用的数据安全问题。用户的合法性与数据的可见性是数据安全中非常重要的一部分。 写在前面 在一款应用的整个生命周期,我们都会谈及该应用的数据安全问题。用户的合法性与数据的可见性是数据安全中非常重要的一部分。但是,一方面,不同的应用对于数据的合法性和可见性要求的维度与粒度都有所区别;另一方面,以当前微服务、多服务的架构方式,如何共享Sessi...
阅读 1356·2023-01-11 13:20
阅读 1707·2023-01-11 13:20
阅读 1215·2023-01-11 13:20
阅读 1906·2023-01-11 13:20
阅读 4165·2023-01-11 13:20
阅读 2757·2023-01-11 13:20
阅读 1402·2023-01-11 13:20
阅读 3671·2023-01-11 13:20