首页 > Web开发 > 详细

ApacheShiro反序列化远程代码执行 漏洞处理

时间:2020-03-26 20:22:26      阅读:299      评论:0      收藏:0      [点我收藏+]

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

ApacheShiro反序列化远程代码执行 漏洞处理

原文:https://www.cnblogs.com/pxblog/p/12576730.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!