Linus Neumann
đ€ SpeakerAppearances Over Time
Podcast Appearances
nur, nur in AnfĂŒhrungszeichen, verhĂ€ltnismĂ€Ăig klassische Web-Schwachstellen gefunden.
Damit ist er dann, auch das ist hÀufig der Fall, bei einer schlecht gehÀrteten Web-App, hat er dann die Möglichkeit gehabt, erst mal Blinddaten zu extrahieren.
Also er konnte Daten rauskriegen, aber musste halt ins Blinde stochern, bis er eine richtige Daten zurĂŒckbekommen hat.
15 Iterationen hat er gebraucht.
Und dann konnte er eben, hatte er Schreibzugriff auf Dateien in dem Web-Root und konnte dann die Web-App selber verÀndern und damit eben die AI-Write-Instructions.
Und damit hÀtte dann eben quasi die KI auch anders antworten lassen.
Und antwortete ĂŒbrigens immer genau das Gegenteil von dem, was richtig ist oder so.
So kam ...
man durch diesen Angriff auch auf die Chat-Messages, die nÀmlich diese Web-App zum Loggen irgendwo hingeschrieben hat.
Und die Dateien und Dokumente waren im Zweifelsfall Sachen, die Leute da hochgeladen haben.
Und die 57.000 User-Accounts wĂŒrde ich jetzt mal aus dem wĂŒrde ich mal aus dem aus der hohlen Hand schĂ€tzen, ist wahrscheinlich die aktuelle Anzahl Angestellter beim McKinsey, weil die das Ding wahrscheinlich an ihr Entra-ID angebunden hatten.
Jedenfalls, natĂŒrlich war das bei uns in der Firma auch Thema.
Und dann sagte unser CEO, der war frĂŒher bei McKinsey, hier, sowas sollten wir auch mal machen.
Dann hat René, mein Kollege, gesagt, achso, ja, okay, dann mache ich das jetzt halt.
Und hat sich von einer anderen groĂen Firma entschieden,
den Chatbot angeschaut und da gibt es wieder eine sehr Ă€hnliche Geschichte, ein öffentliches JavaScript-Asset, in dem die URL fĂŒr das Backend drin stand.
Also in dem JavaScript-Asset erkennst du, ah, alles klar, hier, da ist die Backend-API, du musst sie erstmal finden.
Da konntest du dann
dazu fĂŒhren, dass du eine, wenn du einen nicht authentifizierten Get-Request gemacht hast, kam die Debug-Error-Page.
Also die Web-App lief im Debug-Modus, was man auch nicht tun soll, aber auch ein sehr klassischer Fehler, weil in dem Debug-Modus gibt die Web-App bei einem Fehler, in diesem Fall, du machst, du verstöĂt ja dagegen, sagst, hier ist ein unauthenticated Get-Request,