Shiro身份验证绕过漏洞及修复方案

这篇具有很好参考价值的文章主要介绍了Shiro身份验证绕过漏洞及修复方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

近期Shiro修复了一个身份验证绕过漏洞(CVE-2022-40664),1.10.0之前的版本在请求forward或include时不进行拦截鉴权。

身份验证绕过漏洞防护怎么办,web,安全,web安全,java,servlet

 下方测试代码,方法1(noauth)不需要权限,方法2(needauth)配置了authc,方法1转发方法2,则可以绕过方法2的鉴权。

    /**
     * 不需要身份验证(鉴权)的方法
     */
    @RequestMapping(value ="/shiro/noauth", method = RequestMethod.GET) 
    public String noauth() {
        return "forward:needauth";
    }

    /**
     * 需要身份验证(鉴权)的方法
     */
    @RequestMapping(value ="/shiro/needauth",method=RequestMethod.GET)
    @ResponseBody
    public String needauth() {
        return "needauth";
    }

解决方案

1、springboot项目

    @Bean
    public FilterRegistrationBean testFilterRegistration(SecurityManager securityManager) throws Exception {
        ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
        shiroFilterFactoryBean.setSecurityManager(securityManager);
        Map<String, String> map = new HashMap<>();
        map.put("/shiro/needauth", "authc");
        shiroFilterFactoryBean.setFilterChainDefinitionMap(map);

        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setFilter(shiroFilterFactoryBean.getObject());
        registration.addUrlPatterns("/*");
        registration.setName("shiroFilter");
        registration.setOrder(1);
        // 表示该Filter可以处理所有类型(INCLUDE,FORWARD,REQUEST,ASYNC,ERROR)的请求
        registration.setDispatcherTypes(EnumSet.allOf(DispatcherType.class));
        return registration;
    }

springboot集成ShiroFilter时,默认情况下ShiroFilter不拦截Forward或者Include请求,如果在springboot下使用要对Forward或Include拦截鉴权,不仅要将shiro-spring版本升级到1.10.0,而且要手动配置FilterRegistrationBean的DispatcherType。

2、普通web项目

<filter-mapping>
		<filter-name>shiroFilter</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>INCLUDE</dispatcher>
		<dispatcher>FORWARD</dispatcher>
		<!-- 默认是REQUEST -->
		<dispatcher>REQUEST</dispatcher>
</filter-mapping>

普通web项目在web.xml里手动设置<dispatcher>。

参考链接:

1、​​​​​​​​​​​​​​1.10.0 available with fix CVE-2022-40664 | Apache Shiro

2、CVE-2022-40664 ShiroFilter1.7和1.10对于forward请求的处理_李有乾的博客-CSDN博客

3、java filter里filter-mapping中的dispatcher作用_qq_20936333的博客-CSDN博客_filter-mapping文章来源地址https://www.toymoban.com/news/detail-584955.html

到了这里,关于Shiro身份验证绕过漏洞及修复方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 漏洞复现 | Apache Shiro 授权绕过漏洞(CVE-2022-32532)

    0x00 漏洞描述         Apache Shiro 是一套用于执行认证、授权、加密和会话管理的 Java 安全框架。2022年06月29日 APache 官方发布了一则关于 Apache Shiro 的安全通告,Apache Shiro 1.9.1 前的版本 RegExPatternMatcher 在使用带有 “.” 的正则时,可能会导致权限绕过。漏洞源于 RegExPatter

    2024年02月02日
    浏览(38)
  • Apache Shiro权限绕过漏洞(CVE-2022-32532)

      Shiro是Apache旗下一个开源的Java安全框架,它具有身份验证、访问控制、数据加密、会话管理等功能,可以用于保护任何应用程序的安全,如移动应用程序、web应用程序等。   2022年6月29日,Apache官方披露Apache Shiro权限绕过漏洞(CVE-2022-32532),当 Apache Shiro 中使用 RegexReques

    2024年02月04日
    浏览(36)
  • Solr Shiro Log4j2 命令执行--文件读取--反序列化--身份权限绕过--命令执行

    Apache Velocity是一个基于Java的模板引擎,它提供了一个模板语言去引用由Java代码定义的对象。Velocity是Apache基金会旗下的一个开源软件项目,旨在确保Web应用程序在表示层和业务逻辑层之间的隔离(即MVC设计模式)。 Apache Solr 5.0.0版本至8.3.1版本中存在输入验证错误漏洞。攻击

    2024年02月08日
    浏览(43)
  • 【认证绕过】NACOS身份认证绕过漏洞分析

    前言 工作中遇到一个nacos服务认证绕过的问题,在此总结一下漏洞原因。 官方文档描述: Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、

    2023年04月13日
    浏览(51)
  • Smartbi 身份认证绕过漏洞

    因为自己搭建的环境存在一些问题,可能是版本过高的原因,(奇奇怪怪的问题,用户没有权限),所以目前仅仅做概念性验证,对漏洞的原理进行分析。 在未登录的情况下访问接口  /smartbi/vision/RMIServlet ​ 我们可以比较明显的看到对应的处理类  CheckIsLoggedFilter ​ smartbi.fre

    2024年02月16日
    浏览(41)
  • 五种不寻常的身份验证绕过技术

    导语:身份验证绕过漏洞是现代web应用程序中普遍存在的漏洞,也是隐藏最深很难被发现的漏洞。 身份验证绕过漏洞是现代web应用程序中普遍存在的漏洞,也是隐藏最深很难被发现的漏洞。 为此安全防护人员不断在开发新的认证方法,保障组织的网络安全。尽管单点登录(

    2024年04月13日
    浏览(22)
  • 【漏洞复现-通达OA】通达OA share身份认证绕过漏洞

    通达OA(Office Anywhere网络智能办公系统)是中国通达公司的一套协同办公自动化软件。通达OA /share/handle.php存在一个认证绕过漏洞,利用该漏洞可以实现任意用户登录。攻击者可以通过构造恶意攻击代码,成功登录系统管理员账户,继而在系统后台上传恶意文件控制网站服务器

    2024年02月19日
    浏览(42)
  • Nacos 身份认证绕过漏洞(QVD-2023-6271)

            最近接到安全信息部门提报Nacos 身份认证绕过漏洞(QVD-2023-6271),评级为高位漏洞。 漏洞描述:开源服务管理平台 Nacos 中存在身份认证绕过漏洞,在默认配 置下未token.secret.key 进行修改,导致远程攻击者可以绕 过密钥认证进入后台,造成系统受控等后果。 漏洞影响

    2024年02月07日
    浏览(83)
  • 网站代码sql注入攻击漏洞修复加固防护措施

    什么是SQL注入攻击? SQL注入是一种网站的攻击方法。它将SQL代码添加到网站前端GET POST参数中,并将其传递给mysql数据库进行分析和执行语句攻击。 如何生成SQL注入漏洞的? 1。网站程序员以及运维技术是不能保证所有的前端输入都被安全效验与拦截过滤。 2。攻击者使用发送

    2024年02月01日
    浏览(43)
  • Apache Superset 身份认证绕过漏洞(CVE-2023-27524)

    Apache Superset是一个开源的数据可视化和数据探测平台,它基于Python构建,使用了一些类似于Django和Flask的Python web框架。提供了一个用户友好的界面,可以轻松地创建和共享仪表板、查询和可视化数据,也可以集成到其他应用程序中。由于用户在默认安装过程中,未对SECRET_KE

    2024年02月09日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包