Shiro对rememberMe的cookie做了加密处理,shiro在CookieRememberMeManaer类中将cookierememberMe字段内容分别进行序列化、AES加密、Base64编码操作。但是,AES加密的密钥Key被硬编码在代码里,意味着每个人通过源代码都能漏洞描述拿到AES加密的密钥。因此,攻击者构造一个恶意的对象,并且对其序列化,AES加密,base64编码后,作为cookie的rememberMe字段发送。Shiro将rememberMe进行解密并且反序列化,最终造成反序列化漏洞。

有两种修改方式。

第一种:修改shiro配置文件,修改内容为

<bean id="rememberMeCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
<constructor-arg value="rememberMe"/>
<property name="httpOnly" value="true"/>
<property name="maxAge" value="31536000"/><!-- 365天 -->
</bean>
<!-- rememberMe管理器 -->
<bean id="rememberMeManager" class="org.apache.shiro.web.mgt.CookieRememberMeManager">
<property name="cipherKey" value="#{T(org.apache.shiro.codec.Base64).decode('qQFtSnnj/sx7vu51ixAyEQ==')}"/>
<property name="cookie" ref="rememberMeCookie"/>
</bean>

  

qQFtSnnj/sx7vu51ixAyEQ== 这个是生成AES密钥
生成方式参照:https://www.cnblogs.com/pxblog/p/12485832.html

第二种;替换项目中shiro jar包,替换成1.2.6版本

下载地址:https://yvioo.lanzous.com/b00nueaib

最新文章

  1. 《LoadRunner12七天速成宝典》来了
  2. 可爱的Python_课后习题_CDay−2 完成核心功能
  3. nginx 配置https
  4. mouse scrollings and zooming operations in linux &amp; windows are opposite
  5. JDK的下载与安装
  6. oc-12-NSString 类简单介绍及用法
  7. String or binary data would be truncated. The statement has been terminated.
  8. 2015第19周四jquery版本
  9. [Python][MachineLeaning]Python Scikit-learn学习笔记1-Datasets&amp;Estimators
  10. Linux下一个CD翻录 创CUE 压缩flac攻略
  11. 用开源软件建垂直搜索引擎 转载 http://news.cnblogs.com/n/60041/
  12. 使用nodejs爬取和讯网高管增减持数据
  13. 老李推荐:第2章2节《MonkeyRunner源码剖析》了解你的测试对象: NotePad窗口Activity之NotesList简介
  14. 分页 js
  15. Data Base mongodb driver2.5环境注意事项
  16. sys系统模块
  17. SSH File Transfer遇到错误"too many authentication failures for root".A protocol error was detected......
  18. Python 解决 :NameError: name &#39;reload&#39; is not defined 问题
  19. &lt;转载&gt;Mac下,使用sshpass让iterm2支持多ssh登录信息保存
  20. Python基础知识摘要

热门文章

  1. Codeforces 1236F - Alice and the Cactus(期望+分类讨论)
  2. plyr包使用
  3. bluetooth sig bluetooth asia-深圳之行
  4. Oracle-一张表中增加计算某列值重复的次数列,并且把表中其他列也显示出来,或者在显示过程中做一些过滤
  5. 巩固java第五天
  6. 大数据学习----day27----hive02------1. 分桶表以及分桶抽样查询 2. 导出数据 3.Hive数据类型 4 逐行运算查询基本语法(group by用法,原理补充) 5.case when(练习题,多表关联)6 排序
  7. 在JTable单元格上 加入组件,并赋予可编辑能力 [转]
  8. springboot-使用AOP日志拦截实现
  9. jmeter进阶
  10. 【Linux】【Services】任务计划、周期性任务执行