# Login Bypass {{#include ../../banners/hacktricks-training.md}} ## **Umgehung des regulären Logins** Wenn Sie eine Login-Seite finden, können Sie hier einige Techniken finden, um diese zu umgehen: - Überprüfen Sie **Kommentare** auf der Seite (nach unten und nach rechts scrollen?) - Überprüfen Sie, ob Sie **direkt auf die eingeschränkten Seiten zugreifen können** - Überprüfen Sie, ob Sie **die Parameter nicht senden** (keine oder nur 1 senden) - Überprüfen Sie den **PHP-Vergleichsfehler:** `user[]=a&pwd=b` , `user=a&pwd[]=b` , `user[]=a&pwd[]=b` - **Ändern Sie den Inhaltstyp in json** und senden Sie json-Werte (bool true eingeschlossen) - Wenn Sie eine Antwort erhalten, die besagt, dass POST nicht unterstützt wird, können Sie versuchen, das **JSON im Body, aber mit einer GET-Anfrage** mit `Content-Type: application/json` zu senden - Überprüfen Sie den möglichen Parsing-Fehler von nodejs (lesen Sie [**dies**](https://flattsecurity.medium.com/finding-an-unseen-sql-injection-by-bypassing-escape-functions-in-mysqljs-mysql-90b27f6542b4)): `password[password]=1` - Nodejs wird diese Payload in eine Abfrage umwandeln, die der folgenden ähnelt: ` SELECT id, username, left(password, 8) AS snipped_password, email FROM accounts WHERE username='admin' AND`` `` `**`password=password=1`**`;` was dazu führt, dass das Passwort immer wahr ist. - Wenn Sie ein JSON-Objekt senden können, können Sie `"password":{"password": 1}` senden, um den Login zu umgehen. - Denken Sie daran, dass Sie, um diesen Login zu umgehen, immer einen **gültigen Benutzernamen kennen und senden müssen**. - **Hinzufügen der Option `"stringifyObjects":true`** beim Aufruf von `mysql.createConnection` wird schließlich **alle unerwarteten Verhaltensweisen blockieren, wenn `Object` im Parameter übergeben wird**. - Überprüfen Sie die Anmeldeinformationen: - [**Standardanmeldeinformationen**](../../generic-hacking/brute-force.md#default-credentials) der verwendeten Technologie/Plattform - **Häufige Kombinationen** (root, admin, password, Name der Technologie, Standardbenutzer mit einem dieser Passwörter). - Erstellen Sie ein Wörterbuch mit **Cewl**, **fügen Sie** den **Standard**-Benutzernamen und das Passwort (falls vorhanden) hinzu und versuchen Sie, es mit allen Wörtern als **Benutzernamen und Passwort** zu brute-forcen - **Brute-Force** mit einem größeren **Wörterbuch (**[**Brute force**](../../generic-hacking/brute-force.md#http-post-form)**)** ### SQL Injection-Authentifizierungsumgehung [Hier finden Sie mehrere Tricks, um den Login über **SQL-Injection** zu umgehen](../sql-injection/index.html#authentication-bypass). Auf der folgenden Seite finden Sie eine **benutzerdefinierte Liste, um den Login** über SQL-Injection zu umgehen: {{#ref}} sql-login-bypass.md {{#endref}} ### Keine SQL Injection-Authentifizierungsumgehung [Hier finden Sie mehrere Tricks, um den Login über **No SQL Injections** zu umgehen](../nosql-injection.md#basic-authentication-bypass)**.** Da die NoSQL-Injections erfordern, dass die Parameterwerte geändert werden, müssen Sie diese manuell testen. ### XPath Injection-Authentifizierungsumgehung [Hier finden Sie mehrere Tricks, um den Login über **XPath Injection** zu umgehen.](../xpath-injection.md#authentication-bypass) ``` ' or '1'='1 ' or ''=' ' or 1]%00 ' or /* or ' ' or "a" or ' ' or 1 or ' ' or true() or ' 'or string-length(name(.))<10 or' 'or contains(name,'adm') or' 'or contains(.,'adm') or' 'or position()=2 or' admin' or ' admin' or '1'='2 ``` ### LDAP Injection Authentifizierungsumgehung [Hier finden Sie mehrere Tricks, um sich über **LDAP Injection** anzumelden.](../ldap-injection.md#login-bypass) ``` * *)(& *)(|(& pwd) *)(|(* *))%00 admin)(&) pwd admin)(!(&(| pwd)) admin))(|(| ``` ### Remember Me Wenn die Seite eine "**Remember Me**" Funktionalität hat, überprüfe, wie sie implementiert ist und sieh nach, ob du sie ausnutzen kannst, um **andere Konten zu übernehmen**. ### Redirects Seiten leiten Benutzer normalerweise nach dem Login um, überprüfe, ob du diese Umleitung ändern kannst, um einen [**Open Redirect**](../open-redirect.md) zu verursachen. Vielleicht kannst du einige Informationen (Codes, Cookies...) stehlen, wenn du den Benutzer auf deine Webseite umleitest. ## Other Checks - Überprüfe, ob du **Benutzernamen auflisten** kannst, indem du die Login-Funktionalität ausnutzt. - Überprüfe, ob **Auto-Complete** in den Passwort/**sensiblen** Informationen **Formularen** **aktiv** ist: `` ## Automatic Tools - [HTLogin](https://github.com/akinerkisa/HTLogin) {{#include ../../banners/hacktricks-training.md}}