Inline (Queries) SQL Injection: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „== Inline (Queries) SQL Injection == == Beispiel == Beispiel Ref: <ref>[https://evil.com ''Evil Link Description''] Text behind desc. Abgerufen am xx. Fe…“) |
KKeine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
== 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 == | == Beispiel == | ||
Simple Inline SQLi (MySQL): | |||
Abschluss (abtrennen) der ursprünglichen SQL Anweisung (Seite 82): | |||
Beispiel Ref: <ref>[https://evil.com ''Evil Link Description''] Text behind desc. Abgerufen am xx. Februar 2022.</ref> | Beispiel Ref: <ref>[https://evil.com ''Evil Link Description''] Text behind desc. Abgerufen am xx. Februar 2022.</ref> | ||
== Forensische | == 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: | |||
{| class="wikitable" | |||
|- | |||
! 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 <br>Linux: /var/lib/mysql/general_log.CSV || Nicht per Default aktiv | |||
|- | |||
| MySQL || Binary Log || Alle Data modifications<br>DDL & DML || Windows: C:\ProgramData\MySQL\MySQL Server x.x\Data\*-bin<br>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 == | == Quellen == |
Version vom 26. Februar 2022, 12:55 Uhr
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.