SQL Injection - Umgehen der Anmeldung: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
Zeile 24: Zeile 24:
 
*Im Hintergrund läuft eine MySQL Datenbank.
 
*Im Hintergrund läuft eine MySQL Datenbank.
 
*Die abgesetzte SQL-Abfrage ist zu sehen. Hier erscheint in der Abfrage nur der Benutzername.
 
*Die abgesetzte SQL-Abfrage ist zu sehen. Hier erscheint in der Abfrage nur der Benutzername.
  SELECT username FROM accounts WHERE username=''';
+
  <code>SELECT username FROM accounts WHERE username=''';</code>
  
 
=Manipulation der Abfrage=
 
=Manipulation der Abfrage=

Version vom 15. Juni 2021, 08:05 Uhr

Voraussetzung

  • Security level: 0

Ziel

  • Oft sind Anmeldungen datenbankbasiert.
  • Test der Anmeldeseite auf Möglichkeiten der Informationsgewinnung.
  • Test der Anmeldeseite auf Möglichkeiten der Manipulation.

Aufruf der Anmeldemaske

  • OWASP 2017 -> A1 Injection (SQL) -> SQLi Bypass Authentication -> Login

Versuch einen Fehler zu generieren

  • Eingabe eines einzelnen Anführungszeichens in Eingabefeld Username.
  • Ein einzelnes Anführungszeichen ist bei Datenbanken ein spezielles Zeichen.

Mutillidae-01.png

generierter Fehler

Mutillidae-02.png

Erkenntnisse

  • Dem Anwender wird eine Fehlermeldung mit vielen Systeminformationen angezeigt.
  • Die Tatsache dass ein solcher Fehler nicht abgefangen wird lässt auf angreifbarkeit schließen.
  • Im Hintergrund läuft eine MySQL Datenbank.
  • Die abgesetzte SQL-Abfrage ist zu sehen. Hier erscheint in der Abfrage nur der Benutzername.
SELECT username FROM accounts WHERE username=;

Manipulation der Abfrage

  • Eingabe von '1=1-- im Eingabefeld für den Namen.


  • Eingabe im Namensfeld:
' or 1=1-- -


Mutillidae-02.png

  • Nach Anklicken des Buttons Login ist man als Benutzer admin angemeldet.