Apache Shiro 漏洞汇总

  以下是我个人通过收集信息收集起来的一些Apache Shiro漏洞信息,这些漏洞的poc都是公开的,利用起来也是比较简单

Apache Shiro是什么东西:

  Apache Shiro是美国阿帕奇(Apache)软件基金会的一套用于执行认证、授权、加密和会话管理的Java安全框架

漏洞信息

shiro 反序列化(cve_2016_4437) Apache Shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cookie值 > Base64解码–>AES解密–>反序列化。然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。
shiro 权限绕过(cve_2020_1957)  Shiro框架通过拦截器功能来对用户访问权限进行控制,如anon, authc等拦截器。anon为匿名拦截器,不需要登录即可访问;authc为登录拦截器,需要登录才可以访问。主要是Spring web在匹配url的时候没有匹配上/导致绕过
shiro 权限绕过(cve_2020_11989) 将Apache Shiro与Spring控制器一起使用时,特制请求可能会导致身份验证绕过。

shiro 代码执行(shiro721)

Shiro框架直观、易用,同时也能提供健壮的安全性 Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞
shiro 身份验证绕过(cve_2020_13933) 之前Apache Shiro身份验证绕过漏洞CVE-2020-11989的修复补丁存在缺陷,在1.5.3及其之前的版本,由于shiro在处理url时与spring仍然存在差异,依然存在身份校验绕过漏洞由于处理身份验证请求时出错,远程攻击者可以发送特制的HTTP请求,绕过身份验证过程并获得对应用程序的未授权访问。

漏洞版本

shiro 反序列化(cve_2016_4437) Apache Shiro <= 1.2.4
shiro 权限绕过(cve_2020_1957) Apache Shiro < 1.5.2
shiro 权限绕过(cve_2020_11989)

Apache Shiro < 1.5.3,Spring框架中只使用了Shiro鉴权

shiro 代码执行(shiro721) Apache Shiro <= 1.4.1
shiro 身份验证绕过(cve_2020_13933) Apache Shiro < 1.6.0

漏洞特征:

shiro 反序列化(cve_2016_4437) Set-Cookic、header="rememberme=deleteMe"、header="shiroCookie"
shiro 权限绕过(cve_2020_1957) /a/b--->/a/b/  或  /a/b;/c--->/a/b/c 绕过  
shiro 权限绕过(cve_2020_11989) /admin/page--->/;/admin/page,绕过
shiro 代码执行(shiro721) 需要一个合法的登录账号,获取一个有效的rememberMe cookie,并记录下这个rememberMe的值。使用rememberMe值作为prefix,加载Payload,进行Padding Oracle攻击。
shiro 身份验证绕过(cve_2020_13933) /admin/page--->/admin/%3bpage  绕过 %3b=;

Apache Shiro 漏洞汇总的更多相关文章

  1. 应用安全 - Web框架 - Apache Solr - 漏洞汇总

    CVE-2019-12409 Date: // 类型: 配置不当导致远程代码执行 前置条件: 影响范围: Solr and for Linux Solr下载:https://www.apache.or ...

  2. Apache Shiro漏洞复现

    利用burp dns进行检测,脚本如下: import sys import uuid import base64 import subprocess from Crypto.Cipher impor ...

  3. 应用安全 - 工具 - 中间件 - Apache - Apache Tika - 漏洞汇总

    CVE-2016-6809 Date2016 类型远程代码执行 影响范围Apache Tika 1.6-1.13 CVE-2018-1335 Date2018 类型命令注入 影响范围Tika-serv ...

  4. 应用安全 - Web框架 - Apache Flink - 漏洞汇总

    SSV ID:SSV-98101 -- 类型: 文件上传导致远程代码执行   flink下载: https://www.apache.org/dyn/closer.lua/flink/flink-1. ...

  5. Apache Shiro漏洞绕过waf小tips

    看了篇文章觉得不错记录下以免以后找不到,原理是通过base64解码特性导致waf不能成功解码绕过waf检测从而进行攻击 解码情况: payload php python openresty java ...

  6. Apache Shiro Java反序列化漏洞分析

    1. 前言 最近工作上刚好碰到了这个漏洞,当时的漏洞环境是: shiro-core 1.2.4 commons-beanutils 1.9.1 最终利用ysoserial的CommonsBeanuti ...

  7. Apache Shiro 反序列化RCE漏洞

    漏洞介绍 漏洞类型 :JAVA反序列化(RCE) 影响版本 :Apache Shiro 1.2.4及其之前版本 漏洞评级 :高危 漏洞分析 #: 下载漏洞环境: git clone https://g ...

  8. 25. Apache Shiro Java反序列化漏洞

    前言: 最近在审核漏洞的时候,发现尽管Apache shiro这个反序列化漏洞爆出来好久了,但是由于漏洞特征不明显,并且shiro这个组件之前很少听说,导致大厂很多服务还存在shiro反序列化的漏洞, ...

  9. Apache Shiro<=1.2.4反序列化RCE漏洞

    介绍:Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理. 漏洞原因:因为shiro对cookie里的rememberme字段进行了反序列化,所以如果知道了 ...

随机推荐

  1. Eureka server

    Eureka server使用的不是spring mvc的框架,而是使用Jersey. Eureka server ,启动的流程,追本溯源,是在 DiscoveryClient里面,使用这个构造方法 ...

  2. IDEA学习之"插件安装位置"

    进入设置 找到Plugin,就是插件安装位置了

  3. css文字颜色渐变的3种实现

    在web前端开发过程中,UI设计师经常会设计一些带渐变文字的设计图,在以前我们只能用png的图片来代替文字,今天可以实现使用纯CSS实现渐变文字了.下面就介绍3中实现方式供大家参考! 基础样式: .g ...

  4. 从 输入网址(URL)到页面展示的过程

    1.用户输入url网址(URL) 用户输入url(也就是我们说的网址,也是统一资源定义符,用于定义互联网资源) 比如输入https://www.baidu.com 其中https为协议 baidu.c ...

  5. 【MarkDown】使用

    1. 插入代码 在代码前后加上三个点样式的标识符: ``` 效果: 我是代码 1-1 换行 &符号加上 "ensp;"   2. 标题样式定制 # 一级标题 ## 二级标题 ...

  6. Configuration类的理解

    Configuration类主要用来读取配置文件,启动Hibernate,并负责Hibernate的配置信息.一个应用程序只创建一个Configuration. 在Hibernate启动过程中,Con ...

  7. response.setHeader("Cache-Control","no-cache");的作用

      1. response.setHeader("Cache-Control","no-cache"); This is used to prevent the ...

  8. Spring Boot-自动配置之底层原理

    一.SpringBoot启动的时候加载主配置类,开启了自动配置的功能 @SpringBootApplication public class SpringBoot02Application { pub ...

  9. Servlet 3.1学习笔记

    Servlet 3.1学习笔记 参考文档 Servlet 3.1标准 什么是 Servlet ? Servlet 是基于 Java 平台的 Web 组件,由一个容器管理,能够生成动态内容. 什么是 S ...

  10. linux压缩及解压命令

    .zip文件:压缩:zip,解压:unzip 如果要解压到指定目录,可以加上 -d 选项 .gz文件:压缩:gzip,解压:gunzip 压缩.解压缩后原文件丢失,可以加上 -c 选项利用 linux ...