针对 CVE-2023-0264(Keycloak OIDC 会话劫持)的概念验证漏洞利用程序,带有一个用于替换 session_id 的前端,以及一个检测该攻击的代理程序。
静态前端,针对 Keycloak 执行 OIDC(授权码)流程,并暴露 PoC 的 session_id 劫持钩子。通过 nginx 在 5174 端口提供服务,供团队使用。
cd vps/pocCVE0264
docker compose up -d --build
它位于 http://maquina:5174。请在云服务商防火墙中开放 5174/TCP(就像你对 8443 所做的那样)。
Keycloak URL 通过环境变量注入(未硬编码在 HTML 中):在 docker-compose.yml 中编辑 KEYCLOAK_URL/REALM/CLIENT_ID,然后重启——无需重新构建。
在 poc realm 中,客户端 client1(Admin Console → Clients → client1):
http://maquina:5174/*(否则 Keycloak 会以 "Invalid parameter: redirect_uri" 拒绝回跳重定向)。http://maquina:5174(否则对 /token 端点的 fetch 会因 CORS 失败,登录将半途而废)。Keycloak 在 8443 端口使用自签名证书。团队每位成员第一次需要在浏览器中打开 https://maquina:8443 并接受该证书一次。否则,前端对 Keycloak 的调用会静默失败。
http://maquina:5174 → 重定向到 Keycloak 登录页。code 返回后,一个 prompt 会显示当前 session_id,并允许替换为另一会话的 session_id(这是 PoC CVE-2023-0264 的核心)。agente/ 文件夹)会检测并告警此模式。KEYCLOAK_URL + up -d。