Vulnhub dc-9 Blind Boolean Ansatz: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
=Was ist eine Boolean-basierte Blind SQL Injection?=
 +
 +
Eine Boolean-basierte SQL Injection ist eine Technik, die darauf basiert, dass eine SQL-Abfrage an die Datenbank gesendet wird, um die Anwendung dazu zu zwingen, unterschiedliche Ergebnisse zurückzugeben.
 +
 +
Das Ergebnis der Abfrage ermöglicht es einem Angreifer, zu beurteilen, ob die verwendete Nutzlast (payload) True oder False zurückgibt. Obwohl keine Daten aus der Datenbank wiederhergestellt werden, gibt das Ergebnis dem Angreifer wertvolle Informationen.
 +
 +
Abhängig vom Boolean-Ergebnis (TRUE oder FALSE) ändert sich der Inhalt innerhalb der HTTP-Antwort oder bleibt gleich.
 +
 +
Es handelt sich auch um einen langsamen Angriff, der einem Angreifer dabei hilft, die Datenbank aufzuzählen.
 +
 +
https://example.beaglesecurity.com/items.php?id=2
 +
 +
Eine anfällige Datenschnittstelle (Data Access Layer) einer Anwendung kann eine SQL-Abfrage wie unten gezeigt aus der oben genannten URL-Anforderung erstellen.
 +
 +
  SELECT title, description, body FROM items WHERE ID = 2 and 1=2
 +
 +
Wenn eine Anwendung anfällig für SQL Injection ist, wird sie nichts zurückgeben und der Angreifer wird als Nächstes eine Abfrage mit einer wahren Bedingung (1=1) einspeisen. Wenn der Inhalt der Seite anders ist als die Seite, die während der falschen Bedingung zurückgegeben wurde, kann der Angreifer ableiten, dass die SQL Injection funktioniert. Nun kann der Angreifer überprüfen, ob er bereit ist, andere SQL Injection-Methoden zu verwenden.
 +
 +
 
[[Datei:Vulnhub-dc-9-blindboolean-1.png|600px]]
 
[[Datei:Vulnhub-dc-9-blindboolean-1.png|600px]]
  
Zeile 4: Zeile 23:
  
 
[[Datei:Vulnhub-dc-9-blindboolean-3.png|600px]]
 
[[Datei:Vulnhub-dc-9-blindboolean-3.png|600px]]
 +
 +
[[Datei:Vulnhub-dc-9-blindboolean-4.png|600px]]

Aktuelle Version vom 9. März 2023, 08:56 Uhr

Was ist eine Boolean-basierte Blind SQL Injection?

Eine Boolean-basierte SQL Injection ist eine Technik, die darauf basiert, dass eine SQL-Abfrage an die Datenbank gesendet wird, um die Anwendung dazu zu zwingen, unterschiedliche Ergebnisse zurückzugeben.

Das Ergebnis der Abfrage ermöglicht es einem Angreifer, zu beurteilen, ob die verwendete Nutzlast (payload) True oder False zurückgibt. Obwohl keine Daten aus der Datenbank wiederhergestellt werden, gibt das Ergebnis dem Angreifer wertvolle Informationen.

Abhängig vom Boolean-Ergebnis (TRUE oder FALSE) ändert sich der Inhalt innerhalb der HTTP-Antwort oder bleibt gleich.

Es handelt sich auch um einen langsamen Angriff, der einem Angreifer dabei hilft, die Datenbank aufzuzählen.

https://example.beaglesecurity.com/items.php?id=2

Eine anfällige Datenschnittstelle (Data Access Layer) einer Anwendung kann eine SQL-Abfrage wie unten gezeigt aus der oben genannten URL-Anforderung erstellen.

 SELECT title, description, body FROM items WHERE ID = 2 and 1=2

Wenn eine Anwendung anfällig für SQL Injection ist, wird sie nichts zurückgeben und der Angreifer wird als Nächstes eine Abfrage mit einer wahren Bedingung (1=1) einspeisen. Wenn der Inhalt der Seite anders ist als die Seite, die während der falschen Bedingung zurückgegeben wurde, kann der Angreifer ableiten, dass die SQL Injection funktioniert. Nun kann der Angreifer überprüfen, ob er bereit ist, andere SQL Injection-Methoden zu verwenden.


Vulnhub-dc-9-blindboolean-1.png

Vulnhub-dc-9-blindboolean-2.png

Vulnhub-dc-9-blindboolean-3.png

Vulnhub-dc-9-blindboolean-4.png