Sicherheit · Frage 5 von 12
Was versteht man unter SQL-Injection?
1 Antwort ist richtig. Einfach
Lösung anzeigen
Lösung
- A Eingaben werden so in eine SQL-Abfrage eingebaut, dass sie deren Bedeutung verändern
Erklärung
Bei SQL-Injection wird ein Wert aus der Anfrage direkt in den SQL-Text geklebt, etwa "WHERE title = '" . $title . "'". Gibt ein Angreifer ' OR '1'='1 ein, liefert die Abfrage plötzlich alle Datensätze – oder schlimmer, sie löscht oder liest fremde Daten. In TYPO3 verhindert man das, indem man Werte im QueryBuilder mit createNamedParameter() übergibt oder die Extbase-Query nutzt; die Werte gelangen dann getrennt vom SQL-Text zur Datenbank. Die Überlastung durch viele Anfragen ist ein Denial-of-Service-Angriff und hat mit dem Einschleusen von SQL nichts zu tun.