CVE-2023-28708 原理剖析

这篇具有很好参考价值的文章主要介绍了CVE-2023-28708 原理剖析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这应该不是一个严重的漏洞,可能评分只能为低,因为并没有什么卵用。
话不多说,直接进入正题

我的复现环境:
tomcat-8.5.50

首先我们得简单写一个servlet,当然不写也没事,因为我们的分析到不了处理servlet这一步,只用tomcat默认提供的ROOT就行

首先我们需要在web.xml中注册RemoteIpFilter 这个过滤器

<filter>
        <filter-name>remote-ip-filter</filter-name>
        <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>remote-ip-filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

然后把tomcat启动起来,打断点调试,因为问题是出在X-Forwarded-Proto这个HTTP标头,我们就在RemoteIpFilter这个文件中搜索该关键字
CVE-2023-28708 原理剖析
CVE-2023-28708 原理剖析
CVE-2023-28708 原理剖析
如果获取到X-Forwarded-Proto 并且其值为https就设置Secure属性为True,这个属性最终就体现在cookie上,我们假设一种情况,当反代服务器与提供服务的服务器之间使用http通信时会发生什么,因为反代服务器设置了X-Forwarded-Proto: https,服务提供者会将请求的secure属性设置为True导致被设置了secure的cookie被通过http传输,从而使的cookie存在被劫持的可能。
CVE-2023-28708 原理剖析
这几乎就是这个漏洞的全部
我们看看官方的修复commit
Fix BZ 66471 - JSessionId secure attribute missing with RemoteIpFilte…

老实说他这个修复方法我没太看懂
修改了setSecure方法,获取了request对象,修改后获取的request应该和修改前不一样,修改前获取的是XForwardedRequest对象,修改后应该是原始的ServletRequest对象,所以这里设置secure属性并没有修改到XRequest对象的secure值,所以并不会对转发请求造成影响,从而完成修复
CVE-2023-28708 原理剖析

在该commit里还加了一个测试用例
CVE-2023-28708 原理剖析
如果能对该测试用例有足够的理解,理解该漏洞应该不难文章来源地址https://www.toymoban.com/news/detail-484134.html

到了这里,关于CVE-2023-28708 原理剖析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 如果把k8s比作一个餐厅,应该怎样通俗的解释 k8s的核心组件和运行原理

    可以通过以下方式理解Kubernetes的二级选项: Master节点: API Server(API服务器):API Server就像是餐厅的前台接待员,接收顾客的点餐请求,并将请求传达给相应的餐桌(Pod)。 etcd(键值存储):etcd就像是餐厅的菜单和订单记录本,它存储着餐厅的菜单信息、订单状态以及顾

    2024年02月11日
    浏览(48)
  • HTAP应该是一种需求 而不是一种产品

    作者 : 石臻臻 , CSDN博客之星Top5 、 Kafka Contributor 、 nacos Contributor 、 华为云 MVP , 腾讯云TVP , 滴滴Kafka技术专家 、 LogiKM PMC(改名KnowStreaming) 。 LogiKM(改名KnowStreaming) 是滴滴开源的Kafka运维管控平台, 有兴趣一起参与参与开发的同学,但是怕自己能力不够的同学,可以联系我,当你导

    2024年01月19日
    浏览(47)
  • springboot 项目,返回的实体类里面字段是null ,现在想要为空应该是““,空字符串,而不是null

    返回给前端的数据,如果数据库的字段没有数据,给返回的是null 要变成这个,全局都变成这样 springboot返回给页面的json数据中,如果有数据为null,则返回空字符串。 springboot默认使用jackson解析返回json数据。 只需要加上以上的配置就可以了

    2024年01月23日
    浏览(42)
  • 泛微 E-Office文件上传漏洞复现(CVE-2023-2523、CVE-2023-2648)

          泛微E-Office是一款标准化的协同 OA 办公软件,泛微协同办公产品系列成员之一,实行通用化产品设计,充分贴合企业管理需求,本着简洁易用、高效智能的原则,为企业快速打造移动化、无纸化、数字化的办公平台。 cve-2023-2523     泛微e-office 9.5版本,源文件 App/Ajax/a

    2024年02月06日
    浏览(79)
  • CVE-2023-1454注入分析复现

    简介 JeecgBoot的代码生成器是一种可以帮助开发者快速构建企业级应用的工具,它可以通过一键生成前后端代码,无需写任何代码,让开发者更多关注业务逻辑。 影响版本 Jeecg-Boot= 3.5.1 环境搭建 idea+ 后端源码: https://github.com/jeecgboot/jeecg-boot/archive/refs/tags/v3.5.0.zip 前端源码:

    2024年02月16日
    浏览(34)
  • CVE-2023-33246命令执行复现分析

    RocketMQ是一款低延迟、高并发、高可用、高可靠的分布式消息中间件。既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性。 影响版本 = RocketMQ 5.1.0 = RocketMQ 4.9.5 环境搭建 创建broker.conf,并且修改配置

    2024年02月09日
    浏览(41)
  • 【漏洞复现】Weblogic CVE-2023-21839

    1. 产品简介 WebLogic是Oracle公司研发的用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器,在全球范围内被广泛使用。 2. 漏洞简介 Oracle发布安全公告,修复了一个存在于WebLogic Core中的远程代码执行漏洞(CVE-2023-21839),可在未经身份验证

    2023年04月16日
    浏览(41)
  • CVE-2023-32233 Linux kernel

    近日,研究人员发现了Linux内核的NetFilter框架中的新漏洞(CVE-2023-32233)。该漏洞可被本地用户用于将权限提升为root,并完全控制系统。问题的根源在于 tfilter nf_tables 是如何处理批处理请求的,经过身份验证的本地攻击者可通过发送特制的请求破坏 Netfilter nf_tables 的内部状态

    2024年02月12日
    浏览(36)
  • CVE-2023-34541 LangChain 任意命令执行

    LangChain是一个用于开发由语言模型驱动的应用程序的框架。 在LangChain受影响版本中,由于load_prompt函数加载提示文件时未对加载内容进行安全过滤,攻击者可通过构造包含恶意命令的提示文件,诱导用户加载该文件,即可造成任意系统命令执行。 在项目下编写  test.py 同级目

    2024年02月11日
    浏览(36)
  • LangChain 任意命令执行(CVE-2023-34541)

    LangChain是一个用于开发由语言模型驱动的应用程序的框架。 在LangChain受影响版本中,由于load_prompt函数加载提示文件时未对加载内容进行安全过滤,攻击者可通过构造包含恶意命令的提示文件,诱导用户加载该文件,即可造成任意系统命令执行。 在项目下编写  test.py ​ 同级

    2024年02月11日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包