Skip to content

只属于你一人的Shiro反序列化漏洞

License

Notifications You must be signed in to change notification settings

yyMing-sudo/ShiroHacker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShiroHacker

工具仅用于安全研究以及内部自查,禁止使用工具发起非法攻击,造成的后果使用者负责

简介

什么是ShiroHacker

白帽子在挖掘漏洞的时候,经常会遇到抢洞的情况

是否能够创造一个只属于你一人的Shiro反序列化漏洞:只要你挖到,从此以后再不会有其他人能够挖到这个洞

(该工具只针对于SpringBoot/SpringMVC配合Shiro的情况,这也是最广泛的情况)

使用

可以使用配套测试环境:https://github.com/EmYiQing/ShiroEnv

和普通Shiro工具一样,本工具会首先扫描key并输出

然后会用Shiro原生反序列化链CB1构造Payload打过去

这个Payload的逻辑是反射修改服务端的Key,需要修改三处地方

  • AbstractRememberMeManager.DEFAULT_CIPHER_KEY_BYTES
  • CookieRememberMeManager.encryptionCipherKey
  • CookieRememberMeManager.decryptionCipherKey

只修改第一处不会生效,需要获取SpringContext拿到CookieRememberMeManagerBean修改后两处

命令:java -jar ShiroHacker.jar -u [TARGET_URL] -p [YOUR_NEW_KEY]

注意

  1. 请提供16位长度的Key否则会影响到服务端正常的业务逻辑
  2. Payload仅可用于较新版本的SpringBoot中(例如2.6.0)
  3. 使用该工具有可能会导致服务端业务逻辑出问题,真实环境慎用

感谢

感谢天下大木头师傅提供帮助:https://github.com/KpLi0rn

提出该技术的文章:https://xz.aliyun.com/t/9450

免责申明

未经授权许可使用ShiroHacker攻击目标是非法的

本程序应仅用于授权的安全测试与研究目的

About

只属于你一人的Shiro反序列化漏洞

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages