当前位置: 首页 > wzjs >正文

做网站编辑的发展方向晋升seo文章推广

做网站编辑的发展方向晋升,seo文章推广,外贸免费开发网站模板,免费网站建设知识漏洞概述 CVE-2020-1957 是 Apache Shiro 框架(1.5.2 之前版本)与 Spring 框架集成时存在的权限绕过漏洞。攻击者通过构造包含特殊字符(如 /、;)的 URL 路径,利用 Shiro 与 Spring 对路径解析的差异,绕过权…

漏洞概述

CVE-2020-1957 是 Apache Shiro 框架(1.5.2 之前版本)与 Spring 框架集成时存在的权限绕过漏洞。攻击者通过构造包含特殊字符(如 /;)的 URL 路径,利用 Shiro 与 Spring 对路径解析的差异,绕过权限校验并访问受保护的资源。该漏洞可导致未授权访问敏感接口或数据,CVSS 评分为 7.5(高危)。


技术细节分析

1. 漏洞成因
  • 路径解析差异
    Shiro 的 PathMatchingFilterChainResolver 使用简单的字符串匹配逻辑(基于 AntPathMatcher),而 Spring 的 AntPathMatcher 支持更灵活的路径标准化(如忽略结尾的 / 或解析 ; 后的内容)。例如:

    • Shiro 将 /admin//admin 视为不同路径,而 Spring 可能视为同一路径。
    • Shiro 在处理分号 ; 时会截断后续内容(如 /admin;xxx 解析为 /admin),而 Spring 可能保留完整路径。
  • 配置缺陷
    Shiro 的过滤器链配置若未覆盖所有可能的路径变体(如未配置 /admin/**/admin/),攻击者可构造 /admin//admin;xxx 绕过校验。

2. 源码分析
@Bean
public ShiroFilterChainDefinition shiroFilterChainDefinition() {DefaultShiroFilterChainDefinition chainDefinition = new DefaultShiroFilterChainDefinition();chainDefinition.addPathDefinition("/admin/**", "authc"); // 要求认证return chainDefinition;
}

问题点

  1. 路径匹配逻辑不严格
    Shiro 的 /admin/** 规则无法匹配 /admin//admin;xxx 等变体路径,导致权限校验失效。
  2. 分号处理缺陷
    Shiro 的 decodeAndCleanUriString 方法会截断分号后的内容(如 /admin;../test 变为 /admin),而 Spring 可能解析为 /test,导致绕过。

攻击示例

  • Payload 1/admin/

    • Shiro 校验路径 /admin/ 不匹配 /admin/**,放行请求。
    • Spring 解析为 /admin,命中 AccountInfoController/admin/ 接口。
  • Payload 2/xxx;/../admin

    • Shiro 截断分号后内容,校验路径 /xxx
    • Spring 解析为 /admin,成功访问受保护资源。

漏洞复现

1.环境搭建

vulhub搭建漏洞环境
在这里插入图片描述

2.访问8080端口

在这里插入图片描述

3.访问/admin,出现302

在这里插入图片描述

4.访问/xxx/..;/admin/

在这里插入图片描述
绕过权限校验,访问到管理页面


修复方案

  1. 升级 Shiro 版本
    升级至 Shiro 1.5.3+,修复了路径标准化和分号处理问题。

  2. 严格路径配置
    在 Shiro 规则中覆盖所有可能变体(如同时配置 /admin/admin/):

    chainDefinition.addPathDefinition("/admin", "authc");
    chainDefinition.addPathDefinition("/admin/", "authc");
    chainDefinition.addPathDefinition("/admin/**", "authc");
    
  3. 自定义路径标准化过滤器
    强制规范化请求 URI(移除冗余 /;):

    public class NormalizedPathFilter extends OncePerRequestFilter {@Overrideprotected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) {String uri = request.getRequestURI();String normalizedUri = UriUtils.normalizePath(uri).replaceAll(";.*", "");request = new NormalizedHttpServletRequestWrapper(request, normalizedUri);chain.doFilter(request, response);}
    }
    

总结

CVE-2020-1957 暴露了 Shiro 与 Spring 集成时路径解析不一致的安全风险。其核心问题在于 Shiro 未对请求路径进行充分标准化,而 Spring 的灵活解析机制被攻击者利用。开发者需结合框架升级、严格配置和自定义过滤器,确保权限校验逻辑覆盖所有可能的路径变体。


http://www.dtcms.com/wzjs/339665.html

相关文章:

  • windows优化大师有毒吗三台网站seo
  • wordpress文章入口设置优化关键词推广
  • 酒泉网站建设推广seo的研究对象
  • 丽水建设网站厦门人才网官网
  • dw 怎么做钓鱼网站自己如何注册一个网站
  • 郑州模板建站多少钱国内打开google网页的方法
  • 临汾外贸网站建设价格移投界seo
  • 做公众号排版的网站标题优化
  • 三门峡网站建设优化教程
  • 唯品会一家专门做特卖的网站手机版百度云搜索引擎
  • 做网站mfdos快速排序优化
  • 来源门户网站源码重庆搜索排名提升
  • 网站建设需求调研fifa最新排名出炉
  • 织梦网站版权百度一下你就知道首页官网
  • 济南市住建厅官方网站怎么分析一个网站seo
  • 唐山做企业网站企业做网上推广
  • 免费做片头的网站站长之家域名查询
  • 个人网站建立步骤广告联盟官网入口
  • c 网站开发技术快速网站推广公司
  • 长春 餐饮 网站建设域名查询网站信息
  • 网站栏目标签如何调用百度论坛首页官网
  • 做类似美团的网站吗网站seo设计方案案例
  • 网站建设选择本地汕头网站建设方案开发
  • 网站开发介绍ppt网络营销的方式和手段
  • 如何把自己电脑做网站服务器吗郑州seo顾问热狗
  • 安全的营销型网站制作排名函数rank怎么用
  • 邯郸公司网站建设百度推广搜索排名
  • 专业做网站团队软文广告投放平台
  • 推荐佛山伦教网站设计it菜鸡网seo
  • 西安模板做网站怎么创作自己的网站