码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Apache Shiro 漏洞复现


    文章目录

    • Apache Shiro 漏洞复现
      • 1. Apache Shiro 1.2.4 反序列化漏洞
        • 1.1 漏洞描述
        • 1.2 漏洞原理
        • 1.3 漏洞复现
          • 1.3.1 环境启动
        • 1.4 漏洞利用
        • 1.5 修复方案

    Apache Shiro 漏洞复现

    链接地址:Vulhub - Docker-Compose file for vulnerability environment

    1. Apache Shiro 1.2.4 反序列化漏洞

    1.1 漏洞描述

    说明内容
    漏洞编号CVE-2016-4437
    漏洞名称Apache Shiro 1.2.4 反序列化漏洞
    漏洞评级高危
    影响范围Apache Shiro 1.2.4
    漏洞描述Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。
    修复方案打补丁,上设备,升级组件

    1.2 漏洞原理

    Apache Shiro 1.2.4及以前版本中,Apache Shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cookie值 > Base64解码–>AES解密–>反序列化。然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。

    1.3 漏洞复现

    1.3.1 环境启动

    image-20230908200140028

    说明:这里我修改了docker-compose.yml配置文件的端口号。

    服务启动后,访问http://your-ip:8090可使用admin:vulhub进行登录。

    image-20230908205513086

    登录成功

    image-20230908200406396
    使用bp进行抓包

    image-20231010214005259

    登录后的响应包,中的Set-Cookie字段,字段内容rememberMe=deleteMe,那么很可能Shiro框架,并且存在Shiro反序列化漏洞。

    1.4 漏洞利用

    利用Shiro工具进行链接

    在URL中输入登录界面的路径然后点击密钥爆破,检测是否存在Shiro框架。

    image-20230908203605728

    查看利用链,测试哪一个CC链可以利用。

    image-20230908203646713

    然后输入命令执行即可

    image-20230908203800371

    1.5 修复方案

    1. 确定自己使用的shiro版本要高于1.2.4。

    2. 在代码中全局搜索 “setCipherKey(Base64.decode(” 关键字,或者"setCipherKey"方法,Base64.decode()中的字符串就是shiro的密钥,要确保该密钥的安全性,千万不要使用公开的密钥。

  • 相关阅读:
    基于Django的博客系统之登录增加忘记密码(八)
    移动医疗科技:开发互联网医院系统源码
    数据湖是什么?数据湖关键技术(一)
    【AGC】应用安装报错没有证书怎么办
    《最新出炉》系列初窥篇-Python+Playwright自动化测试-25-处理单选和多选按钮-中篇
    【Windows安装RabbitMQ详细教程】
    .datastore@cyberfear.com.mkp勒索病毒的最新威胁:如何恢复您的数据?
    Linux上使用Python源码编译安装Python
    Arduino IDE的下载和安装
    阿里P8MySQL,基础/索引/锁/日志/调优都不误,一锅深扒端给你
  • 原文地址:https://blog.csdn.net/weixin_58783105/article/details/133737168
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号