SQL Injection - Umgehen der Anmeldung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 18: | Zeile 18: | ||
=generierter Fehler= | =generierter Fehler= | ||
[[Datei:Mutillidae-02.png]] | [[Datei: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='''; | ||
+ | |||
+ | |||
+ | |||
*Eingabe im Namensfeld: | *Eingabe im Namensfeld: |
Version vom 15. Juni 2021, 07:59 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.
generierter Fehler
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=;
- Eingabe im Namensfeld:
' or 1=1-- -
- Nach Anklicken des Buttons Login ist man als Benutzer admin angemeldet.