Inline (Queries) SQL Injection: Unterschied zwischen den Versionen

Aus IT-Forensik Wiki
(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 Maßnahmen ==
== 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
|}


Text##
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, 13: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

  1. Inline-Stringinjection (Seite 75):
  2. 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

  1. Evil Link Description Text behind desc. Abgerufen am xx. Februar 2022.