Böswillige Nutzereingaben können, wenn man sie vertrauensvoll gewähren lasst, in vielerlei Hinsicht für Ärger sorgen. Die Mehrzahl der verbreiteten Verwundbarkeitstypen, etwa „File Inclusion“, „Path Traversal“, „Code Execution“ oder „Information Disclosure“, lassen sich auf unzureichend überprüfte Eingaben zurückführen.
Die Herausforderung bei der Entschärfung von Nutzereingaben besteht darin, im jeweiligen Kontext die jeweils gefährlichen Zeichen oder Zeichenfolgen zu erkennen. Dazu gehören unter anderem Newline-Zeichen, Backticks, Null-Bytes, Anführungszeichen und spitze Klammern. Durch die Vielfalt vorhandener Zeichensätze und Enkodierungsformen können Zeichen mit der gleichen Bedeutung jedoch in unterschiedlichen Varianten in Erscheinung treten.
Im folgenden konzentrieren wir uns auf die in TYPO3-Extensions häufig vorzufindenden „Klassiker“: SQL-Injections und Cross Site Scripting (XSS).
SQL-Injections ausschließen
Bei einer Datenbankabfrage können Nutzereingaben SQL-Injections Tür und Tor öffnen. Deshalb muss verhindert werden, dass jegliche Art von gefährlichen Zeichen und Zeichenfolgen ungefiltert in den Abfrage-String gelangen können. TYPO3 stellt in der Klasse „t3lib_db“ Methoden für Datenbank-Operationen bereit, die dabei helfen können. Um dem Datenbank-Abstraktions-Layer von TYPO3 keine Steine in den Weg zu legen, sollten Extension-Entwickler für die Datenbank-Kommunikation ausnahmslos auf diese Methoden zurückgreifen.





![TYPO3: 10 Jahre in 60 Sekunden zusammengefasst [Video]](http://t3n.de/uploads/t3n-news-post-361575_typo3_medium.jpg)

2 Antworten
von wir 12.04.2010 (20:42Uhr) 1.
Ein CSRF-Angriff kann nicht dadurch verhindert werden, dass Requests, die zu einer Veränderung von Daten führen, nur per HTTP-POST akzeptiert werden. Auch per HTTP-POST kann ohne weiteres ein gefälschter Request abgesetzt werden. Dazu erstellt der Angreifer eine Seite, auf die er das Opfer lockt. Dort wird der manipulierte Request entweder mittels einer clientseitigen Skriptsprache wie zum Beispiel Javascript erzeugt oder der Angreifer bringt das Opfer dazu, auf einen Button oder ein Bild zu klicken, wodurch der Request abgesetzt wird. Wählt der Angreifer als Ziel (target-Parameter) des Formulars einen unsichtbaren Frame oder Inlineframe, sind auch hier die Chancen gering, dass das Opfer den Angriff bemerkt. (http://de.wikipedia.org/wiki/Cross-Site_Request_Forgery#Nur_HTTP-Post_akzeptieren)
Was mich aber interessieren würde, ist ob TYPO3 Funktionen bereitstellt um Canaries in Formulare einzufügen.
von Get Variablen - PHP include - TYPO3 Foru… 17.06.2011 (14:06Uhr) 2.
[...] [...]