Přeskočit na hlavní obsah

Jak hacknout zdroják

Jak snadné je procházet zdrojový kód backend aplikace? Zkusili jste k tomu využít API a neoprávněně si tak zobrazit soubory uložené na serveru? Podívejte se, jak se to dělá a rovnou to se mnou opravte.

Častým problémem aplikací je, že se každá její část chová trochu jinak. Jinak se chová web a jinak REST API. V tomto případě si na webu nemůžeme zobrazit soubory nebo adresáře, ale pomocí API už to udělat můžeme.

Zobrazení zdrojáku na webu není možné

Zobrazení zdrojáku přes API možné je

Útočník může procházet zdrojový kód, který je na serveru uložený a pomocí tečkové notace může cestovat napříč adresáři až k souboru se systémovými hesly (/etc/passwd).

Zobrazení souboru /etc/passwd

Toto chování je potřeba zakázat a umožnit uživateli pohybovat se jen v rámci určitého adresáře aplikace. Nejlepší je k tomu použít nějaký globalní middleware. Současný kód obsluhující tuto funkcionalitu vypadá takto:

Současný kód obsluhující funkcionalitu

Funkce upravíme tímto způsobem:

Nová, ošetřená funkcionalita

Dejte si pozor, jestli se vaše webová aplikace chová stejně jako API. V každém případě zakažte možnost procházení adresářů a souborů na serveru.

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