【网络安全】CVE漏洞分析以及复现

这篇具有很好参考价值的文章主要介绍了【网络安全】CVE漏洞分析以及复现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

漏洞详情

Shiro 在路径控制的时候,未能对传入的 url 编码进行 decode 解码,导致攻击者可以绕过过滤器,访问被过滤的路径。

漏洞影响版本

Shiro 1.0.0-incubating

对应 Maven Repo 里面也有

【网络安全】CVE漏洞分析以及复现

【一一帮助安全学习,所有资源获取一一】
①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

环境搭建

这个比 Shiro550、Shiro721 要增加一些东西,首先看 pom.xml 这个配置文件,因为漏洞是 shiro 1.0.0 版本的

<dependency>  
    <groupId>org.apache.shiro</groupId>  
    <artifactId>shiro-core</artifactId>  
    <version>1.0.0-incubating</version>  
</dependency>  
<dependency>  
    <groupId>org.apache.shiro</groupId>  
    <artifactId>shiro-web</artifactId>  
    <version>1.0.0-incubating</version>  
</dependency>  
<dependency>  
    <groupId>org.apache.shiro</groupId>  
    <artifactId>shiro-spring</artifactId>  
    <version>1.0.0-incubating</version>  
</dependency>

调整 ShiroConfig.java,增加代码如下

filterMap.put("/user/add","perms[user:add]");  
filterMap.put("/user/update","perms[user:update]");  
filterMap.put("/secret.html","authc,roles[admin]");  

filterMap.put("/user/*", "authc");  
filterMap.put("/**","anon")

HTML 文件 ———— static/secret.html

<!DOCTYPE html>  
<html lang="en" xmlns:th="http://www.thymeleaf.org">  
<head>  
    <meta charset="UTF-8">  
    <title>首页</title>  
</head>  
<body>  
<div>  
    <h1>秘密界面</h1>  
</div>  
</body>  
</html>

这时候访问secret.html会得到一个 302 的重定向

【网络安全】CVE漏洞分析以及复现

用 PoC 打能够打通

【网络安全】CVE漏洞分析以及复现

  • 至此环境搭建完毕,当然搭建环境的时候可能会遇到如下这个报错
unable to correctly extract the initialization vector or ciphertext.

这个问题的解决方法是清除浏览器缓存即可。

漏洞复现与分析

先说 PoC,未标准化路径造成/./越权访问

【网络安全】CVE漏洞分析以及复现

把断点下在org.apache.shiro.web.filter.mgt.PathMatchingFilterChainResolver#getChain()处,开始调试

getChain()方法会先将所有的 URI 保存到变量名为i$的迭代器当中,然后逐一循环,进行pathMatches()的匹配。在循环两次之后,我们来看处理/./secret.html的代码。跟进pathMatches()方法

【网络安全】CVE漏洞分析以及复现

跟进pathMatcher.matches(),再跟进,最终是来到org.apache.shiro.util.AntPathMatcher#doMatch(),这个方法做了具体的实现业务。

首先判断目前请求的 URL 开头与目标 URL 的开头是否都为/,如果不是则return false;往下,调用了StringUtils.tokenizeToStringArray()方法,之前的/secret.html转化成了["secret.html"]这个数组,/./secret.html转换成了[".","secret.html"]

【网络安全】CVE漏洞分析以及复现

继续往下,判断了patDir中是否存在**字符,如果存在就break;继续往下走,判断 html 的目录与当前请求的目录是否相同,因为我们请求被拆分出来是[".","secret.html"].secret.html不相同,所以会返回 false

【网络安全】CVE漏洞分析以及复现

由于其不能与我们之前定的所有 URL 匹配,导致进入了 /**的匹配范围,这里之前我们设定的访问方式是/**,anon无需认证即可访问,由此造成越权

基于这个逻辑,/;/secret.html的 bypass 方式也是合理的,可能一些其他特殊字符也是可以的,前提是对请求并不造成影响,像..#这类字符就会产生问题。

【网络安全】CVE漏洞分析以及复现

报错字符报错信息如下

Invalid character found in the request target [/\/secret.html ]. The valid characters are defined in RFC 7230 and RFC 3986

漏洞分析至此结束

漏洞修复

Shiro在 Commit更新中添加了标准化路径函数。
对 ////.//../等进行了处理。文章来源地址https://www.toymoban.com/news/detail-458848.html

到了这里,关于【网络安全】CVE漏洞分析以及复现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 网络靶场实战-RouterOS漏洞分析(CVE-2022-45315)

    本环境是蛇矛实验室基于\\\"火天网演攻防演训靶场\\\"进行搭建,通过火天网演中的环境构建模块,可以灵活的对目标网络进行设计和配置,并且可以快速进行场景搭建和复现验证工作。火天网演中,内置大量固件设备,包含大型网络设备及物联网设备,可以灵活选取进行测试验

    2024年02月11日
    浏览(44)
  • CVE-2022-30190分析以及复现和POC利用 //Microsoft Office MSDT 远程代码执行漏洞

    在微软官方的介绍里,是从 Word 等调用应用程序使用 URL 协议调用 MSDT 时存在远程执行代码漏洞。成功利用此漏洞的攻击者可以使用调用应用程序的权限运行任意代码。 意思是恶意 Word 文档可以使用远程模板功能从远程服务器获取 HTML 文件,并且 HTML 代码可以使用 Microsoft 的

    2024年02月04日
    浏览(70)
  • CVE-2021–26855与CVE-2021–27065漏洞分析及复现

    文章首发先知社区:https://xz.aliyun.com/t/10098 微软在上半年三月披露了关于Exchange邮件服务器 CVE-2021–26855 (SSRF)与 CVE-2021–27065 (任意文件写入)的漏洞,这两个漏洞配合可以造成未授权的webshell写入,是非常严重的高危漏洞。漏洞刚出来那会儿并未注意,正好前两天4哥在群里发了个关

    2024年02月07日
    浏览(43)
  • 漏洞深度分析|CVE-2022-1471 SnakeYaml 命令执行漏洞

    YAML是一种数据序列化格式,设计用于人类的可读性和与脚本语言的交互。 SnakeYaml是一个完整的YAML1.1规范Processor,支持UTF-8/UTF-16,支持Java对象的序列化/反序列化,支持所有YAML定义的类型。 https://github.com/snakeyaml/snakeyaml SnakeYaml通常使用方法如下: new Yaml(new Constructor(TestDataC

    2023年04月27日
    浏览(40)
  • CVE-2012-0158漏洞分析报告

    软件名称 :Office 2003 软件版本 :11.5604.5606 漏洞模块 :MSCOMCTL.OCX 模块版本 :---- 编译日期 :2022-07-10 操作系统 :Windows XP/2003/7/8.1/10 漏洞编号 :CVE-2013-4730 危害等级 :超危 漏洞类型 :缓冲区溢出 威胁类型 :本地 软件简介 Microsoft Office 2003 是微软公司针对 Windows操作系统所

    2024年02月06日
    浏览(50)
  • 暴雷(CVE-2012-1889)漏洞分析报告

    软件名称 :Microsoft Internet Explorer 软件版本 :6.0/8.0 漏洞模块 :msxml3.dll 模块版本 : 编译日期 :2022-07-06 操作系统 :Windows XP/7 漏洞编号 :CVE-2012-1889 危害等级 :高危 漏洞类型 :缓冲区溢出 威胁类型 :远程 软件简介 Internet Explorer(简称:IE)是微软公司推出的一款网页浏

    2024年02月05日
    浏览(51)
  • Spring Rce 漏洞分析CVE-2022-22965

    Spring Framework 是一个开源的轻量级J2EE应用程序开发框架。 3月31日,VMware发布安全公告,修复了Spring Framework中的远程代码执行漏洞(CVE-2022-22965)。在 JDK 9 及以上版本环境下,可以利用此漏洞在未授权的情况下在目标系统上写入恶意程序从而远程执行任意代码。 影响组件:

    2024年02月05日
    浏览(60)
  • [漏洞分析] 用chatGPT分析CVE-2023-0386 overlay内核提权

    本文的理论知识(命名空间、overlay文件系统、fuse文件系统等)均来自chatGPT。 漏洞编号: CVE-2023-0386 漏洞产品: linux kernel - overlay文件系统 影响范围: 5.11 ~ 5.19 利用条件: 可以unshar 或可以创建overlay文件系统 利用效果: 本地提权 自己编译内核: 准备漏洞版本范围内的,5.15版本之

    2024年02月05日
    浏览(43)
  • Django SQL注入漏洞分析(CVE-2022-28346)

    Django 在2022年发布的安全更新,修复了在 QuerySet 的 annotate(), aggregate(), extra() 等函数中存在的 SQL 注入漏洞。 2.2= Django Django 2.2.28 3.2= Django Django 3.2.13 4.0= Django Django 4.0.4 需要使用了 annotate 或者 aggregate 或 extra 方法 利用 pycharm 创建一个 python 项目 ​ 创建完成项目后在 Setti

    2024年02月03日
    浏览(49)
  • 【网络安全---漏洞复现】Tomcat CVE-2020-1938 漏洞复现和利用过程(特详细)

    分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取: 超详细的网络安全笔记 Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的

    2024年02月08日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包