Přeskočit na hlavní obsah

Jak se přihlásit bez znalosti hesla

Validujete vstupní data a escapujete je? Můžete se tak vyhnout nejen NoSQL injection, ale i dalším problémům. Zjistěte, jak hacknout a opravit NoSQL injection ve vašich aplikacích.

API umožňuje uživatelům přihlášení pomocí uživatelského jména a hesla. Útočník může zkusit přihlašovací údaje hádat, ale taky může zkusit, jestli aplikace nepoužívá například MongoDB a nemá špatné zabezpečení.

Ukázka NoSQL injection requestu

Zapíše nějakou NoSQL query pro vyhledání záznamů, které neobsahují hodnotu 1 a rázem je přihlášený.

Aplikace se spoléhá na to, že uživatel zadá textovou hodnotu a ne objekt a už vůbec ne s nějakým dotazem nebo kusem kódu. Aplikace tedy postrádá validaci a eskapování vstupu.

Chybějící validace v login metodě

V tomto případě převedeme vstup na string a tím by měl být alespoň tento problém vyřešený. To je potřeba udělat u všech hodnot.

Převedení vstupu na string
Když zpracováváte uživatelský vstup, přistupujte k němu jako k neduvěryhodnému, validujte a ověřujte vstupní hodnoty hned po jejich obdržení.

Podívejte se na video, kde tuto funkcionalitu hackuju a rovnou v kódu opravuju:

Dej odběr a žádné další video už ti neunikne. 👇