前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVE-2021-34429:Jetty WEB-INF文件读取复现

CVE-2021-34429:Jetty WEB-INF文件读取复现

作者头像
Timeline Sec
发布2021-08-20 16:04:59
6.1K0
发布2021-08-20 16:04:59
举报
文章被收录于专栏:Timeline SecTimeline Sec

作者:Menge@Timeline Sec

本文字数:907

阅读时长:2~3min

声明:仅供学习参考使用,请勿用作违法用途,否则后果自负

0x01 简介

Jetty是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。

0x02 漏洞概述

编号:CVE-2021-34429

可以使用一些编码字符来制作URI,以访问WEB-INF目录的内容和/或绕过一些安全限制。默认合规模式允许带有包含 %u002e 段的 URI 的请求访问WEB-INF目录中的受保护资源。

例如,/%u002e/WEB-INF/web.xml可以检索 web.xml 文件的请求。这可能会泄露有关 Web 应用程序实现的敏感信息。同样,编码的空字符可能会阻止正确的规范化,因此/.%00/WEB-INF/web.xml也会检索 web.xml 文件。此漏洞是CVE-2021-28164和CVE-2021-28169的新的绕过方式。

0x03 影响版本

9.4.37 ≤ Eclipse Jetty ≤ 9.4.42

10.0.1 ≤ Eclipse Jetty ≤ 10.0.5

11.0.1 ≤ Eclipse Jetty ≤ 11.0.5

0x04 环境搭建

可以直接用vulhub项目直接搭建jetty9.4.40的环境,也可以自行搭建

项目地址 (版本是jetty9.4.40)

代码语言:javascript
复制
https://github.com/vulhub/vulhub/blob/master/jetty/CVE-2021-28164/

docker启动

代码语言:javascript
复制
cd /vulhub/jetty/CVE-2021-28164
docker-compose up -d

然后访问http://your-ip:8080

出现以下界面,搭建成功!

0x05 漏洞复现

使用curl -I http://ip:port

可以看到Jetty版本

或是直接访问一个不存在的页面

使用Burpsuite发送GET请求/%u002e/WEB-INF/web.xml即可读取到web.xml文件

0x06 修复方式

1.使用补丁版本,如9.4.43, 10.0.6, 11.0.6

2.官网建议,可以部署一些 Jetty重写规则,将原始请求 URI 中包含编码点段或空字符的任何请求重写为已知未找到的资源(https://github.com/eclipse/jetty.project/security/advisories/GHSA-vjv5-gp2w-65vm)

代码语言:javascript
复制
<Call name="addRule">
  <Arg>
    <New class="org.eclipse.jetty.rewrite.handler.RewriteRegexRule">
      <Set name="regex">.*/(?:\.+/)+.*</Set>
      <Set name="replacement">/WEB-INF/Not-Found</Set>
    </New>
  </Arg>
</Call>
<Call name="addRule">
  <Arg>
    <New class="org.eclipse.jetty.rewrite.handler.ValidUrlRule"/>
  </Arg>
</Call>
代码语言:javascript
复制
参考链接:

https://github.com/eclipse/jetty.project/security/advisories/GHSA-vjv5-gp2w-65vm

https://mp.weixin.qq.com/s/GUsPetS256WEL90PaSNKYA

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Timeline Sec 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档