Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437、Shiro-550)

0x00 漏洞原理

Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。
 
 

0x01 影响版本

Shiro <= 1.2.4
  

0x02 环境搭建
192.168.68.68    #靶机
192.168.68.168   #攻击机/接收反弹Shell 

  

0x03 漏洞复现
cd vulhub-master/shiro/CVE-2016-4437  #进入vulhub靶场 
docker-compose up -d                  #启动Apache Shiro

请添加图片描述
  
  

访问http://192.168.68.68:8080

Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437、Shiro-550)_第1张图片
  
  

用工具成功找到密钥 kPH+bIxk5D2deZiIxcaaaA==

请添加图片描述  
  

进一步探测,成功找到利用链

请添加图片描述
  
  

反弹shell

Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437、Shiro-550)_第2张图片
  
  

攻击机成功收到反弹过来的shell

请添加图片描述
  
  

用wireshark追踪数据流,可以看到shiro 550特征 remember以及返回的数据包中的remember=deleteMe

Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437、Shiro-550)_第3张图片
请添加图片描述
  
  
Shiro550跟Shiro721的区别在于:
Shiro550使用已知密钥碰撞,Shiro721是使用登录后rememberMe={value}(知道已经登陆用户的合法cookie)去爆破正确的key值进而反序列化
  
    
  
  

参考链接
https://vulhub.org/#/environments/shiro/CVE-2016-4437/

你可能感兴趣的:(漏洞复现,apache,网络安全,web安全)