Matti Mäkitalo: wget, curl, WebDriver

Beitrag lesen

Hallo,

was soll das denn jetzt? Deine Nachricht liest sich sehr herablassend, vor allem, da du wesentliche Satzteile unterschlägst.

Dass ich insb. mit curl so ziemlich alles an HTTP-Requests nachbauen kann ist klar - insbesondere kann ich ein Formular abholen, es parsen, ein CSRF-Token extrahieren und dann mit Curl einen neuen Request senden mit den Formulardaten inkl. des CSRF-Tokens.

Das wichtige war aber nicht wget/curl, sondern "primitivste Angriffsversuche mit curl/wget" - sprich: wenn man den ersten Schritt (CSRF-Token holen/extrahieren) eben nicht macht, sondern nur einen direkten Request auf den "Speicherendpunkt". Die (beispielhaft) genannte WebDriver-API würde solche primitiven Request-Versuche btw ebenfalls zulassen, ist also alleine nicht ausreichend, um CSRF-Schutz auszuhebeln.

Mit CSRF-Tokens kann man primitive Versuche erkennen, bei denen das Formular eben nicht mit Browser gesandt wird. Andere Möglichkeiten sind z.B. Captchas und ähnliche Spielereien, aber es gibt keinen 100% Schutz dagegen, dass eine Webseite gescraped wird bzw. Formularendpunkte automatisiert aufgerufen werden.

Andersherum: das Vorhandensein eines gültigen CSRF-Tokens ist eine notwendige, aber eben nicht hinreichende Bedingung dafür, dass die "Herkunft" des Requests ein user-genutzter Web-Browser (Browser i.S.v.: manuell genutzt) ist.

Und das war alles was ich sagen wollte.

Viele Grüße Matti