Ein Feature der Version 4.5 ist ein Schutz vor CSRF = Cross Site Request Forgery. Im Optimalfall wirst du davon nichts mitbekommen.
CSRF kann genützt werden, um bestimmte Befehle ausführen zulassen ohne dafür selbst die Berechtigung zu haben. Es reicht wenn der Angegriffene dafür die Rechte besitzt und auf einen bestimmten Link klickt.
Die Funktionsweise ist eigentlich ziemlich simpel: Wenn ein Benutzer auf den Link www.domain.at/delete.php?id=123, wird zB ein Datensatz mit der ID 123 gelöscht, sofern der User die notwendigen Rechte dafür hat. Bin ich der Angreifer, habe ich normalerweise dafür nicht die notwendigen Rechte, daher muss ich nur jemanden finden, bei dem das anders ist und ihn dazu bringen, den Link anzuklicken. Beispiele gibt es dazu viele:
- Link in Mails, Foren, die zB die Form haben wie <a href=“<Zielseite>“>Fotos meines neuen Hundes</a>
- Eine gehackte Seite, auf der der Link im Hintergrund automatisch via JS geladen wird
CSRF funktioniert nicht nur mit einfachen Links, sondern auch mit Formularen, da die Vorgehensweise hier eine ähnliche ist: Der Angreifer leitet den User auf eine eigene Seite, auf der das Formular mit den notwendigen Feldern vorbereitet ist und schickt dieses automatisch (zB via JavaScript) ab.
Wie kann man sich davor schützen
Eine Vorgehensweise, wie sie auch bei TYPO3 eingesetzt wird, besteht darin, mit jedem Formular auch einen generierten Token zu übergeben. Pro Formularaufruf wird dieser Token neu erstellt und dieser passt auch nur zu diesem Formular und zu keinem anderen.
Auf der Zielseite wird der Token überprüft und gleichzeitig entwertet. Dadurch ist jeder Token nur 1x gültig.
Spezielles zu TYPo3
Seit mehreren Wochen ist in den Benutzereinstellungen und im Installtool der CSRF-Schutz aktiv. Seit gestern wurden die Bereiche um die Dateneingabe über das Seiten- und Listenmodul ergänzt. Es kann sein, dass noch nicht das vollständige Backend abgedeckt ist, das wird aber nachgeholt.
Wichtig ist: Wenn wer TYPO3 4-5 testet und auf eine Fehlermeldung stößt, die lautet
„Invalid Security Token (ExtDirect)“ oder „Validating the security token of this form has failed. Please reload the form and submit it again.“, bitte dies im Bugtracker melden sofern das nicht bereits geschehen ist.