
Proof-of-Concept-Exploit für CVE-2023-0264 (Keycloak-OIDC-Session-Hijacking) mit einem Frontend für die session_id-Substitution und einem Agenten, der den Angriff erkennt.
Statisches Frontend, das den OIDC-Ablauf (Authorization Code) gegen eine Keycloak-Instanz ausführt und den session_id-Entführungshook des PoC bereitstellt. Es wird mit nginx auf Port 5174 für das Team bereitgestellt.
cd vps/pocCVE0264
docker compose up -d --build
Es läuft unter http://maquina:5174. Öffne die Firewall des Providers für 5174/TCP (genau wie du es mit 8443 gemacht hast).
Die Keycloak-URL wird über Umgebungsvariablen injiziert (nicht im HTML hartkodiert): Bearbeite KEYCLOAK_URL/REALM/CLIENT_ID in docker-compose.yml und starte neu — ohne Neuaufbau.
Im Realm poc, Client client1 (Admin Console → Clients → client1):
http://maquina:5174/* hinzu
(sonst lehnt Keycloak die Rückumleitung mit „Invalid parameter: redirect_uri“ ab).http://maquina:5174 hinzu
(sonst schlägt der fetch an den /token-Endpunkt wegen CORS fehl und der Login bleibt unvollständig).Keycloak verwendet auf 8443 ein selbstsigniertes Zertifikat. Jedes Teammitglied muss beim ersten Mal https://maquina:8443 im Browser öffnen und das Zertifikat einmal akzeptieren. Andernfalls schlagen die Aufrufe des Frontends an Keycloak still fehl.
http://maquina:5174 → es wird zum Keycloak-Login weitergeleitet.code zeigt ein prompt die aktuelle session_id an und erlaubt, sie durch die einer anderen Sitzung zu ersetzen (der Kern des PoC CVE-2023-0264).agente/) erkennt und meldet dieses Muster.KEYCLOAK_URL im Compose ändern + up -d.