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í.
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.
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.
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. 👇