Das “method=post”-Missverständnis
Donnerstag, 19. Februar 2009, 7:35 Uhr | Autor: ich
Ich bin ja ständig am Scannen, eine Art Human Vulnerable Webscanner… Sobald ich irgendwo ein Eingabefeld eines Formulars sehe… da muß ich einfach mal "><h1>xss</h1> eingeben. :O)
In der letzten Zeit fällt mir vermehrt auf das viele Formulare zwar per POST übertragen werden, aber trotzdem XSS möglich ist, man also trotzdem über die Adresszeile des Browsers und dann auch manipulierte Links, Code in die Seite einschleusen kann.
Bidde was? Post, GLS, heißen die jetzt nicht DHL? ;O)
Für die Übertragung von Daten aus einem Formular, sei es eine Newsletteranmeldung, ein Kontaktformular oder auch eine Suchfunktion, wird im FORM-TAG festgelegt über welchen Weg, die eingegebenen Daten zum Server übertragen werden. Mögliche Methoden sind GET oder POST, wenn keine Methode vorgegeben ist, wird automatisch GET benutzt.
Bei einem GET-Request werden die Daten sichtbar in der Adresszeile an den Server übertragen:
http://domain.tld/suche.script?suchwort=irgendetwas
Bei einem POST-Request sieht man nach dem Absenden in der Adresszeile nur:
http://domain.tld/suche.script
Da wir nun alle Fachleute sind und wissen was POST und GET ist…
Irgendwie scheint sich rumgesprochen zu haben, das es sicherer ist wenn man Formulardaten per POST überträgt, damit ein Angreifer keine Möglichkeit hat in den Scriptaufruf irgendwelchen Code einzuschleusen. Aber da wurde nur die halbe Wahrheit verbreitet oder verstanden.
Wenn am Server die Variable register_globals auf On eingestellt ist, so ist es oft trotzdem möglich das Script per ...script?suchwort=irgendetwas mit Daten zu versorgen.
Der Programmierer hat zwar versucht ein sicheres Script zu entwickeln, aber wenn der Server unsicher konfiguriert ist… Wenn man eine XSS-Lücke in einem CMS findet, muß der Schuldige dafür nicht zwingend der Programmierer sein.
Leider gibt es noch immer Scripte die zwingen register_globals On erfordern, da sollte man überlegen ob es an der Zeit ist, auf ein anderes System zu wechseln, aber evtl. gibt es auch eine aktualisierte Version des Systems und man hat einfach nur noch kein Update gemacht.
Tut einfach selber mal etwas für die Sicherheit eurer WebSites und euerer Besucher – bevor ich komme und mein gefürchtetes "><h1>xss</h1> eingebe. :O)
Thema: Sicherheit, XSS | 3 Kommentare






