Inline (Queries) SQL Injection
Inline (Queries) SQL Injection
Die Inline SQL Injection heißt deshalb so, weil diese direkt in ein dafür vorgesehenes Eingabefeld hinter welchem sich eine Query verbirgt eingebracht wird. Dies kann z.B. an einer Anmeldemaske oder aber einer Produktsuche der Fall sein.
Die Injection funktioniert meist so, dass der eingebrachte Code & die eigentliche Query ausgeführt wird. Die Injection wird also zusätzlich zu der eigentlichen Suchabfrage ausgeführt. Je nach Gestaltung der eingebrachten Query, kann der rest der ursprünglichen Query auch abgeschnitten werden, sodass diese nicht mehr ausgeführt wird (siehe Beispiele).
Einzuteilen in: Error-based SQLi Union-based SQLi
Arten von Inline SQL Injections
- Inline-Stringinjection (Seite 75):
- Inline-Injections numerischer Werte (Seite 79):
Beispiel
Simple Inline SQLi (MySQL):
Abschluss (abtrennen) der ursprünglichen SQL Anweisung (Seite 82):
Beispiel Ref: [1]
Forensische Analyse
Je nach DBMS liegen unterschiedliche Logfiles vor. Außerdem müssen diese unter anderem auch erst aktiviert werden, da dies nicht per Default passiert. Die nachfolgende Tabelle soll etwaige Arten von Logdateien aufzeigen:
DBMS | Name | Ziel | Path bzw. Datei | Besonderheiten | |
---|---|---|---|---|---|
MySQL | General Query Log | Verbindungsinformationen und alle abgesetzten Statements | Windows: C:\ProgramData\MySQL\MySQL Server x.x\Data\*.log Linux: /var/lib/mysql/general_log.CSV |
Nicht per Default aktiv | |
MySQL | Binary Log | Alle Data modifications DDL & DML |
Windows: C:\ProgramData\MySQL\MySQL Server x.x\Data\*-bin Linux: /var/lib/mysql/binlog.* |
Aufruf mit: mysqlbinlog -v /path/to/log | |
Beispiel | Beispiel | Beispiel | Beispiel | Beispiel |
Zu beachten ist außerdem die Existenz weiterer Quellen, insbesondere Logs einer WAF oder der Firewall für eine generelle Aussage über einen Zugriff <> IP.
Quellen
- ↑ Evil Link Description Text behind desc. Abgerufen am xx. Februar 2022.