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

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
Zeile 1: Zeile 1:
=Boolean-basierte (Inhaltsbasierte) Blind SQLi=
+
=Was ist eine Boolean-basierte Blind SQL Injection?=
Boolean-basierte SQL Injection ist eine inferentielle SQL Injection-Technik, die darauf basiert, dass eine SQL-Abfrage an die Datenbank gesendet wird, die die Anwendung zwingt, ein anderes Ergebnis zurückzugeben, je nachdem, ob die Abfrage ein TRUE- oder FALSE-Ergebnis zurückgibt.
 
  
Abhängig vom Ergebnis ändert sich der Inhalt innerhalb der HTTP-Antwort oder bleibt gleich. Dies ermöglicht es einem Angreifer zu erkennen, ob die verwendete Nutzlast (payload) True oder False zurückgibt, obwohl keine Daten aus der Datenbank zurückgegeben werden. Dieser Angriff ist in der Regel langsam (insbesondere bei großen Datenbanken), da ein Angreifer eine Datenbank Zeichen für Zeichen aufzählen müsste.
+
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.
  
=Zeitbasierte Blind SQLi=
+
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.
  
Zeitbasierte Blind SQL Injection ist eine SQL Injection-Technik, bei der ein Angreifer das Ergebnis einer Abfrage durch eine zeitbasierte Verzögerung in der Antwort der Anwendung bestimmt. Durch die Verwendung von Wartezeiten in SQL-Abfragen kann ein Angreifer das Ergebnis erraten und die Datenbank ausnutzen. Diese Technik wird oft verwendet, wenn der Angreifer keine direkte Kontrolle über die Ausgabe hat oder wenn andere Techniken wie Union-basierte Injection nicht erfolgreich sind.
+
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.
  
  

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