14日晚上,发现了一个公开的Shiro的RCE漏洞,作为在甲方工作了挺久的人,一听Shiro立马虎躯一震,来不及分析poc,立马先得确认公司业务是否受到影响。确定了影响后,立马看怎么修复漏洞。结果悲催的时候出现了,这个漏洞官方居然没有升级修复。这让笔者想起差不多半年前给Shiro官方推的一个加固,结果一直没有收到官方回复,...
Shiro反序列化漏洞复现分析(Shiro-721) 原理 Apache Shiro cookie中使用AES-128-CBC模式加密的rememberMe字段存在问题,用户可通过Padding Oracle加密生成的攻击代码来构造恶意的rememberMe字段,并重新请求网站,进行反序列化攻击,最终导致任意代码执行。 影响版本 Apache Shiro < 1.4.2 漏洞复现 攻击机:192.168.112.1 靶机...
在Shiro721中,Shiro通过AES-128-CBC对cookie中的rememberMe字段进行加密,所以用户可以通过PaddingOracle加密生成的攻击代码来构造恶意的rememberMe字段,进行反序列化攻击,需要执行的命令越复杂,生成payload需要的时间就越长。 漏洞原理 由于Apache Shiro cookie中通过 AES-128-CBC 模式加密的rememberMe字段存在问题,用户可通...
docker build -t shiro-721.//不要忽略721后面的那个点,意为当前路径docker run -p8080:8080-d shiro-721 3、注意事项 环境搭建主要采用了网上github存在的一个镜像,复现时遇到一些问题 https://github.com/3ndz/Shiro-721 这个docker镜像中存在的war包中的lib主要是Common-Collections3.2.2的,正好是漏洞修复了...
甲方视角:SHIRO-721临时修复方案 FreeBuf_262552 2019-11-19 09:30:55 500511 0x00 问题简介 14日晚上,发现了一个公开的Shiro的RCE漏洞,作为在甲方工作了挺久的人,一听Shiro立马虎躯一震,来不及分析poc,立马先得确认公司业务是否受到影响。确定了影响后,立马看怎么修复漏洞。结果悲催的时候出现了,这个漏洞官方...
Shiro 721 漏洞是指 Apache Shiro 框架中由于 AES-128-CBC 加密模式使用不当,导致容易受到 Padding Oracle Attack(填充提示攻击)的安全漏洞。攻击者可以通过构造特定的密文来篡改存储在“RememberMe”Cookie中的加密信息,进而触发反序列化漏洞,执行任意代码。 2. Shiro 721 漏洞的产生原因 AES-128-CBC 加密模式的使...
2.2shiro-721 这个漏洞还是Java反序列化问题,比较严重,并且影响范围也很广,涉及到的版本也很多,具体看下图。 这个漏洞的成因是使用AES加密模式CBC导致的。详细情况官方已给出: RememberMe使用AES-128-CBC模式加密,容易受到Padding Oracle攻击,AES的初始化向量iv就是rememberMe的base64解码后的前16个字节,攻击者只要使...
修复 Shiro在1.2.5的Commit中对此漏洞进行了修复。系统在·启动的时候会生成一个新key,用户也可以手动配置一个cipherKey 如果用户设置的密钥泄漏或者太简单的话,还是会被攻击成功。 Shiro-721 RememberMe默认通过AES-128-CBC模式加密,易受Padding Oracle Attack攻击 影响版本 < 1.4.2 POC 直接使用 longofo 师傅的项...
修复方式# 升级到 Shiro1.4.2 版本(Shiro1.4.2版本后,Shiro的加密模式由AES-CBC更换为AES-GCM) 参考文章: https://github.com/inspiringz/Shiro-721 https://github.com/luckyfuture0177/VULOnceMore/blob/main/Java框架/CVE-2019-12422shiro-721Oracle填充攻击.md ...
Shiro550只需要通过碰撞key,爆破出来密钥,就可以进行利用 Shiro721的ase加密的key一般情况下猜不到,是系统随机生成的,并且当存在有效的用户信息时才会进入下一阶段的流程所以我们需要使用登录后的rememberMe Cookie,才可以进行下一步攻击。漏洞指纹 URL中含有Shiro字段 cookie中含有rememberMe字段 返回包中...