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

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

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

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

工具目录

分类

查看所有分类
Loading categories
POC-CVE-2026-18963 — 针对 CVE-2026-18963 的概念验证漏洞利用程序,这是 Keycloak 忘记密码流程中的一个身份验证绕过漏洞,允许在未经正确验证的情况下重置密码。包含非破坏性证明模式。 | Kitploit
工具/GitHubGitHub/t0w0t/poc-cve-2026-18963
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试身份验证
GitHubt0w0t/poc-cve-2026-18963

POC-CVE-2026-18963

针对 CVE-2026-18963 的概念验证漏洞利用程序,这是 Keycloak 忘记密码流程中的一个身份验证绕过漏洞,允许在未经正确验证的情况下重置密码。包含非破坏性证明模式。

查看仓库
11天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-18963 — Keycloak 忘记密码流程认证绕过 PoC

针对 CVE-2026-18963 的概念验证,该漏洞存在于 Keycloak 的“忘记密码”/凭据选择流程中,攻击者可借此到达 UPDATE_PASSWORD 步骤——并重置目标账户的密码——而无需正确完成所需的身份验证(例如,无需有效的 OTP/第二因素)。

该脚本完全通过 HTTP 驱动整个流程(无需浏览器/Selenium),具体步骤如下:

  1. 加载领域的登录页面并定位“忘记密码”链接。
  2. 打开重置凭据页面并触发 tryAnotherWay。
  3. 在生成的凭据选择器中提交用户名。
  4. 提取并重放 startSessionPolling() 重启 URL,Keycloak UI 使用该 URL 保持认证会话存活。
  5. 重放初始重置 URL 以到达第二个凭据选择器。
  6. 再次提交用户名,使流程直接推进到 UPDATE_PASSWORD。
  7. 可选地为目标账户提交新密码。

⚠️ 免责声明

本工具仅用于经授权的安全测试与研究(您受委托执行的渗透测试、CTF、您自己的实验环境,或协调漏洞披露)。对您不拥有或未获得明确书面授权进行测试的系统运行该工具属于违法行为。作者和贡献者不对因使用本工具造成的滥用或损害承担任何责任。

当仅需证明漏洞存在时,可使用 --stop-at-update-password 生成非破坏性验证(到达 UPDATE_PASSWORD 而不提交新密码)。

环境要求

  • Python 3.8+
  • requests
  • beautifulsoup4

安装

root@kitploit:~
git clone <this-repo-url>
cd POC
python -m venv .venv
source .venv/bin/activate   # on Windows: .venv\Scripts\activate
pip install -r requirements.txt

使用方法

root@kitploit:~
python poc_cve_2026_18963_terminal.py \
    --base-url http://localhost:8080 \
    --realm master \
    --client-id account \
    --username admin \
    --new-password "NewPassword123!"

选项

FlagDefaultDescription
--base-urlhttp://localhost:8080目标 Keycloak 实例的基础 URL
--realmmaster目标领域
--client-idaccount用于发起登录流程的 OIDC 客户端 ID
--usernameadmin目标用户名
--new-password(必填)要为目标账户设置的新密码
--stop-at-update-passwordoff一旦到达 UPDATE_PASSWORD 即停止,不提交新密码(非武器化验证)
--timeout10.0HTTP 请求超时时间(秒)
--output-dirdebug_http用于保存每个中间 HTML 响应以供调试的目录
--insecureoff禁用 TLS 证书验证

非破坏性验证

root@kitploit:~
python poc_cve_2026_18963_terminal.py \
    --base-url https://target.example.com \
    --realm myrealm \
    --username victim \
    --new-password unused \
    --stop-at-update-password

输出

每个中间 HTTP 响应都会以 01_login.html、02_reset.html ... 的形式保存到 --output-dir(默认 debug_http)目录中,供离线审查。脚本成功时退出码为 0,失败时为 1,并将进度和诊断信息打印到 stdout。

作者

Aurélien LOIE

下载工具