Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [Web] CSRF Attacken (https://www.delphipraxis.net/123295-%5Bweb%5D-csrf-attacken.html)

mquadrat 30. Okt 2008 08:41


[Web] CSRF Attacken
 
Morgen zusammen,

Egal welche Plattform man für seine Webseiten nutzt, muss man sich irgendwann die Frage stellen, ob das selbstentwickelte Prachtstück sicher ist oder nicht.

Ich grübel derzeit über die Absicherung gegen CSRF Attacken. Das erste was man meist lies ist die Seite komplett auf POST umzustellen. Dies ist zum einen bei manchen Sachen nicht möglich und zum anderen nützt es gegen einen Angreifer, der mehr als 2 Minuten in den Angriff investiert nichts bis gar nichts.

Nächster Tipp ist dann meist das Prüfen des Referrers. Das wird auch nicht wirklich funktionieren, zumal inzwischen die Übertragung des Referrers oft abgeschaltet ist. Was nicht gesendet wird, kann man auch nicht prüfen.

Bleibt noch alle wichtigen Funktionen mittels Challenge/Response abzusichern. Damit hat man schonmal alle abgewehrt, die einfach nur ein Post auf die Seite loslassen. Aber kommt man nicht auch hier relativ leicht drumrum? Nehmen wir ein Formular für Online-Überweisung als Beispiel. Könnte ich als Angreifer jetzt nicht einfach einen IFrame auf meine manipulierte Seite packen, der das Quellformular abruft? Dann hätte er doch auch den Challenge-Token und könnte damit die Tokenprüfung simpel aushebeln.

Wie sieht also eine gute Abwehrmethode aus? War bislang zu faul mal eine Demoattacke zu schreiben, daher könnte es sein, dass sich in meine theoretischen Gedanken schlicht ein Denkfehler eingeschlichen hat :oops:

OldGrumpy 30. Okt 2008 11:37

Re: [Web] CSRF Attacken
 
In der iX war letztens mal ein Artikel dazu drin... Vielleicht hilft der Dir weiter. Wenn Du den nicht kriegen kannst, melde dich nochmal dann wühl ich mein Exemplar raus und fass Dir die Infos mal kurz zusammen.

alcaeus 30. Okt 2008 18:29

Re: [Web] CSRF Attacken
 
Moin,

wenn du ein Session-basierendes Login-System hast kannst du auch einfach verlangen, dass fuer bestimmte Aktionen (z.B. Logout) die Session-ID nicht nur im Cookie sondern auch in der URL vorhanden ist (dass sie uebereinstimmen muessen erklaert sich wohl hoffentlich von selbst). So kann der Request nur mit Hilfe von JavaScript in deinem Code gestartet werden (bspw. ueber XSS) und dann hast du eh schon ganz andere Probleme ;)

Greetz
alcaeus

mquadrat 31. Okt 2008 08:03

Re: [Web] CSRF Attacken
 
@Grumpy
Läuft gerade aus dem Drucker. Danke für den Hinweis.

Zitat:

Zitat von alcaeus
wenn du ein Session-basierendes Login-System hast kannst du auch einfach verlangen, dass fuer bestimmte Aktionen (z.B. Logout) die Session-ID nicht nur im Cookie sondern auch in der URL vorhanden ist (dass sie uebereinstimmen muessen erklaert sich wohl hoffentlich von selbst). So kann der Request nur mit Hilfe von JavaScript in deinem Code gestartet werden (bspw. ueber XSS) und dann hast du eh schon ganz andere Probleme ;)

Stimmt das wäre ne Möglichkeit. Die Session-ID würde ich ja dann via JavaScript auslesen und nicht schon mit der Seite mitschicken wie ein Challenge-Token. Und von ner fremden Seite kommt man via JavaScript ja nicht auf den Cookie.



Ich denk ich muss da dochmal ein paar Demoattacken machen.




@IX Artikel

Steh ich jetzt aufm Schlauch?! Die gute Dame empfiehlt den Token. Aber ich kann doch in der manipulierten Seite ein GET auf das Formular machen und schon hab ich nen eigenen Token. Den schick ich zurück und die Sicherheitsmaßnahme ist für die Tonne.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz