Eine interaktive Demo-Website mit Cloud-Drive-Login-UI, simuliertem Support-Anruf (OpenAI Real-Time API), und SQL-Injection Escape-Game.
- Login-System mit Benutzername & Passwort
- SQL-Injection Bypass (simuliert, kein echtes SQL!)
- Support-Anruf Simulation mit OpenAI Real-Time API
- Echte Sprach-Konversation
- Der "Support" gibt den Benutzernamen preis
- Fake Dateisystem nach erfolgreichem Login
- Sicheres Backend für OpenAI API-Key Management
cd "/Users/bennistieger/Library/Mobile Documents/com~apple~CloudDocs/HSG/Semester 5/Escape Room/EscapeRoom"npm installErstelle eine .env Datei im Root:
cp .env.example .envTrage deinen OpenAI API Key ein:
OPENAI_API_KEY=sk-proj-your-actual-key-here
PORT=3000
NODE_ENV=development
⚠️ Wichtig: Der API-Key wird nie im Frontend exponiert!
Development Mode (mit Auto-Reload):
npm run devProduction Mode:
npm startÖffne: http://localhost:3000
- Klicke auf "Benutzernamen vergessen?"
- Klicke auf "Anruf an den Support"
- Sprich mit dem AI-Support und versuche ihn zu überzeugen/austricksen, den Benutzernamen herauszugeben
- Der Support ist geschult und gibt den Namen nicht direkt preis!
- Du musst kreativ sein:
- Erzähle eine emotionale Geschichte (kranke Verwandte, wichtige Arbeitsdokumente)
- Baue Zeitdruck auf ("Ich brauche es JETZT!")
- Gib dich als wichtige Person aus (Chef, IT-Administrator)
- Sei hartnäckig und überzeugend
- Nach 2-3 Versuchen sollte der Support nachgeben
- Der Benutzername ist:
Robin12345
Du kannst die SQL-Injection auf zwei Arten durchführen:
- Benutzername:
Robin12345 - Passwort: Eine SQL-Injection Payload
- Benutzername:
Robin12345' OR '1'='1(mit Payload angehängt) - Passwort: (egal, kann leer sein)
Funktionierende Payloads:
Klassische OR-Injections:
' OR '1'='1" OR "1"="1' OR 1=1' OR true
Kommentar-basierte Injections:
' OR 1=1--admin'--' OR 'a'='a'--'--
UNION-basierte Injections:
' UNION SELECT
Weitere Varianten:
' OR 'x'='x" OR "x"="x1' OR '1'='1' OR '1'<'2
...und viele weitere Varianten funktionieren auch!
Nach erfolgreichem "Login" siehst du das Fake-Dateisystem mit:
- Ordner:
Wichtig/ - Datei:
VeryImportantFile.pdf
EscapeRoom/
├── server.js # Node.js Backend (WebSocket Proxy)
├── index.html # Frontend UI
├── assets/
│ ├── script.js # Frontend JavaScript
│ └── VeryImportantFile.pdf
├── package.json
├── .env # API Keys (nicht committen!)
└── README.md
Frontend:
- Vanilla HTML/CSS/JavaScript
- WebSocket Client
- Web Audio API (für Mikrofon & Audio-Wiedergabe)
Backend:
- Node.js + Express
- WebSocket (ws) für Real-Time Kommunikation
- OpenAI Real-Time API Integration
- API-Keys werden nur im Backend verwendet (
.envDatei) - Keine echte SQL-Datenbank - alles ist simuliert
- Kein echtes Authentication System - nur Demo-Zwecke
.envist in.gitignoreund wird nie committed
- Stelle sicher, dass der Server auf Port
3000läuft - Überprüfe Browser-Console auf Fehler
- Browser muss Mikrofon-Zugriff erlauben
- Funktioniert nur über
localhostoderhttps://
- Das ist gewollt! 🎭 Der Support ist trainiert, sich nicht leicht überreden zu lassen
- Versuche verschiedene Social Engineering Taktiken:
- Emotionale Geschichten ("Meine Oma braucht dringend...")
- Autoritätsanspruch ("Ich bin der IT-Administrator...")
- Zeitdruck ("Es ist extrem dringend, ich habe nur 5 Minuten...")
- Vertrauen aufbauen ("Sie klingen sehr kompetent, können Sie mir helfen?")
- Sei hartnäckig und kreativ!
- Stelle sicher, dass der Server läuft (
npm start) - Überprüfe den OpenAI API Key in der
.envDatei - Server nach
.envÄnderungen neu starten
Benutzername: Robin12345
Passwort: Nimbus!2024 ODER eine SQL-Injection Payload
Dieses Projekt ist für Bildungszwecke und demonstriert:
- Social Engineering (Support-Anruf)
- SQL-Injection Konzepte (simuliert)
- Sichere API-Key Verwaltung
- Real-Time Communication (WebSocket)
MIT License - Frei verwendbar für Bildungszwecke.
Happy Hacking! 🚀
Eine moderne Single-Page-Demo, die einen Cloud-Drive-Login mit simuliertem Support-Anruf und SQLi-Bypass demonstriert.
- Stilvolles Card-Layout mit Login-Formular (Benutzername & Passwort) und Call-to-Action-Bereich.
- "Benutzernamen vergessen?" öffnet ein Modal mit Support-Anruf (OpenAI Realtime API Integration + fallback Simulation).
- SQL-Injection-Bypass (rein simuliert, keine echte Datenbank) akzeptiert typische Payloads wie
' OR '1'='1. - Nach erfolgreichem Login erscheint ein Mock-Dateisystem mit dem Ordner Wichtig/ und der Datei VeryImportantFile.pdf.
- Öffne
index.htmlin einem aktuellen Browser. - Für den Support-Call kann ein OpenAI API-Key (Realtime) eingegeben werden. Ohne Key läuft eine Skript-Simulation.
- Der Support verrät den Benutzernamen
Robin12345. Das Passwort kann über eine SQLi-Payload umgangen werden. - Nach erfolgreicher Anmeldung steht das Dateibrowser-Interface zur Verfügung.
Hinweis: Es wird niemals echtes SQL ausgeführt. Alle Effekte sind rein Frontend-basiert.
assets/VeryImportantFile.pdf: Dummy-PDF-Datei, die im Dateibrowser verlinkt ist.