专业黑客联系方式:Shiro 721 Padding Oracle进犯缝隙剖析
前不久刚剖析完Shiro 550的缝隙,后边@wh1t *** ig告诉我Shiro十月份又出了一个安全布告,等级是Critical
https://issues.apache.org/jira/browse/SHIRO-721
布告梗概:
Shrio所运用的cookie里的rememberMe字段采用了AES-128-CBC的加密方式,这使得该字段可以被padding oracle 侵犯运用。侵犯者可以运用一个合法有用的rememberMe 的cookie作为前缀来施行POA,然后制造一个特制的rememberMe来实行Java反序列化侵犯,比方Shrio 550那样的。
施行进程:
登录网站,恣意用户,来获取一个合法的remmemberMe cookie。
运用rememberMe cookie作为前缀来施行POA。
加密Java反序列化的payload来制造特制的rememberMe
带着新的rememberMe向网站建议恳求
这个缝隙相较于550而言,它不需求知道key的值,可是它需求一个合法用户的rememberMe cookie,这大概是它比较鸡肋的当地了。
环境建立
制造war包
git clone https://github.com/apache/shiro.git
cd /shiro
git checkout shiro-root-1.4.1 -b shiro-root-1.4.1
cd ./shiro/samples/web
mvn clean
mvn package
建立调试环境
把war包放入www跑docker-compose即可,source仅仅做个备份
Github: https://github.com/Mote-Z/JavaWebSecurity/tree/master/Shiro/shiro%20721/DebugEnvironment
IDEA设置remote debug 端口为5005
在对应地可以看到该靶机开放了3个端口,分别是21、1515、3535 端口。方下断即可愉快调试。
rememberMe解密进程
首要,这个缝隙是针对rememberMe的,所以要对rememberMe的解密流程有所了解,这儿用了IDEA+docker来进行长途Debug(什么?为什么不说加密?emmm,我当然不会说我想偷闲,并且了解这个进程仅仅为了我编写exp有一丢丢协助)
解密进程的细(mang)致(mu)剖析
下面是对这个流程的剖析,假设对550比较了解的可以直接跳到后边的总结
getRememberedPrincipals , AbstractRememberMeManager (org.apache.shiro.mgt)
进行base64解码,回来byte数组
byte[] bytes = this.getRememberedSerializedIdentity(subjectContext);
getRememberedSerializedIdentity , CookieRememberMeManager (org.apache.shiro.web.mgt)
接纳传过来得base64编码的rem
在互联网有一个“8秒原则”,即如果有一个页面的响应时间超过8秒,那么大部分的用户就会放弃加载,从而放弃使用该页面或网站。淘宝,京东,苏宁等电商每天都有成千上万的访问量,在618电商节,双十一购物逛...
...
根据美国AKC标准,纯种狗狗共178个品种,它们按体型分为:超小型、小型、中型、大型、超大型。来看看各种体型的都有哪些? 1.超小型犬:(共4种,标准身高25cm,体重4kg以下) 2....
上海企业车牌前面都只是次要的信息而已,后面的才是关键----修改出价时段。因为这个阶段,才真正是竞拍是否成功的关键! (另外补充一点:竞拍竞拍,当然是出价高的了。唯一不同的就是国拍为了防止乱价,是限...
本文目录一览: 1、网上很多支付宝用户无缘无故被冻结了,怎么回事啊? 2、网上看到很多支付宝用户无缘无故被冻结了,怎么回事啊? 3、支付宝恶意冻结账户资金? 4、支付宝被冻结说是涉及洗黑钱...
扁桃体容易发炎的人在日常生活中需要注意的事项有很多,在春天易发病的季节应该泡什么茶喝比较好呢?下面,我们来看看扁桃体发炎怎么治疗。 扁桃体容易发炎喝什么比较好 扁桃体发炎可分为急性扁桃体...