Skip to content

XSRF Schwachstelle auf dem ePetitions Server

Der ePetitions-Server des Deutschen Bundestages hat leider ein Sicherheitsloch. Das Eintragen und Austragen aus den Petitionslisten erfolgt durch einen einfachen HTTP GET Request ohne Sicherung durch ein Shared Secret (nonce). Deswegen ist es sehr trivial auf einer beliebigen Web Seite Bilder oder iFrames einzubauen die bei einem Besuch unbemerkt für den Besucher eine Anfrage an den Petitionsserver absenden. War der Besucher auf dem Petitionsserver angemeldet so wird die Aktion ohne weitere Nachfrage durchgeführt. Dies geht natürlich nur, wenn der Benutzer auf dem Server bereits angemeldet ist. Aber eine Gültige Login Session beim ePetitionsserver hat jeder der dort schon mal mitdiskutiert hat (das Session cookie läuft solange der Browser nicht geschlossen wird). Auf folgender Seite habe ich einen Proof of Concept erstellt. Besucher dieser Seite (nach der Vorschaltseite) werden in der Liste gegen das Gendiagnose-Gesetz eintragen. Sie müssen sich dort selbst wieder austragen. Wenn Sie die Seite besuchen wollen, so kopieren Sie den Link in die Browser Adresszeile. http://eckenfels.net/w/CompXSRFPetition Das BSI hat übrigend eine Studie zum Web2.0 veröffentlicht in der XSRF als eines der größten Sicherheitsprobleme genannt wird. Man kann zwar nicht behaupten dass der E-Petitionsserver sehr Web2.0 ist, aber immerhin hätte der Bund Ressourcen zur Verfügung gehabt dieses Sicherheitsloch selbst zu entdecken. Übrigens glaube ich nicht, dass die Schwäche in der eingesetzten Foren-Software SMF ist (da diese es an anderer Stelle wie Logout oder Profil richtig macht) sondern eher an der Erweiterung für die Abstimmungen. Über die Firma hinter dem Projekt findet sich einiges im Artikel von Alvar Freude. Vielen Dank an Matthias Bauer für den Hinweis auf dieses Problem.

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

CF am :

Diverse Versuche, den dargestellten Exploit nachzuvollziehen, führten in keinem Falle zu einer Eintragung in der genannten Liste. Irgendwas scheint an deiner Annahme nicht zu stimmen.

Bernd Eckenfels am :

Hast du ein Script oder werbe-blocker oder sonst eine Sicherheits-Software die das NAchladen des hidden Images im Browser verhindert? Bei mir tut es noch. Du kannst auch einfach die "eintragen" URL mal direkt im Browser eingeben ob das bei dir tut. Ich verwende diese hier: https://epetitionen.bundestag.de/index.php?action=petition;sa=sign;ssa=petition_sign;petition=3852 Wenn dort "sie haben erfolgreich mitgezeichnet" kommt dann sollte es auch per image-url gehen. Wie gesagt du musst halt am ePetitionsserver angemeldet sein dazu. Sonst kommt "Fehler sie müssen angemeldet sein" Gruss Bernd

CF am :

Ja, die genannten Sachen waren alle ausgeschaltet bzw. nicht vorhanden und angemeldet war ich ebenfalls. Wenn ich die URL direkt verwende funktioniert es auch wie beschrieben. Nur durch Aufruf der von die präparierten Seite nicht.

Bernd Eckenfels am :

Hmm.. vielleicht läd dein Browser Images mit 0x0 Größe nicht, was ist es denn für einer? Ich hab das Bild jetzt mal größer gemacht.

Bernd Eckenfels am :

Update: inzwischen seint die Schwachstelle behoben worden zu sein, es werden Mails verwendet und der Link enthält einen Nonce.

Kommentar schreiben

BBCode-Formatierung erlaubt
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Um einen Kommentar hinterlassen zu können, erhalten Sie nach dem Kommentieren eine E-Mail mit Aktivierungslink an ihre angegebene Adresse.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

Kommentare werden erst nach redaktioneller Prüfung freigeschaltet!