Jak zneužít chybnou autorizaci
Chybná a chybějící autorizace je jednou z nejčastějších zranitelností současných aplikací a API. Pojďme se naučit tuto zranitelnost hacknout, rovnou ji v kódu opravit a do budoucna jí efektivně předcházet.
Aplikace obsahuje REST API endpoint, pomocí kterého se můžeme podívat na nějaké aplikační statistiky. Pro využití této funkcionality se nejdřív musíme přihlásit.
Vzhledem k tomu, že jde o aplikační statistiku, tak by tam měl mít přístup jenom admin, protože jde o citlivou funkci. V tomhle případě tam má ale přístup každý uživatel, což je špatně a musíme to nějakým způsobem opravit.
V kódu si najdeme příslušnou funkci, která tuto funkcionalitu obsluhuje. Přidáme další middleware, který kromě toho, že zkontroluje, jestli je uživatel přihlášený, tak zkontroluje, jestli jde opravdu o admin.
Pokud teď zkusíme znovu přistoupit jako běžný uživatel k aplikačním statistikám, tak už by funkcionalita pro tohoto uživatela neměla fungovat, ale pro admina ano.
Tento typ zranitelností je v aplikacích velmi častý a vzniká většinou proto, že je autorizační logika roztříštěná po celé aplikaci.
Doporučuju tedy používat nějaký middleware, kde je veškerá autorizační logika na jednom místě.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. 👇