Nechcete, aby nevítaný návštěvník procházel souborovým systémem vašeho serveru, ale útočníci našli způsob, jak toho dosáhnout. Co můžeš udělat?
Když uživatelé navštíví váš web, věří, že jejich data jsou v bezpečí a že oni ani ostatní uživatelé nemají přístup k souborům nebo složkám, ke kterým nemají oprávnění. Pokud je však váš web zranitelný vůči procházení adresářů, útočníci mohou tuto slabinu zneužít k přesunu z jednoho adresáře do druhého a zobrazení citlivých souborů, které by měly být omezeny.
Tyto útoky využívají zranitelnosti v systému souborů vašeho webu a mohou odhalit důležité informace, což vede k vážným bezpečnostním rizikům. V tomto článku prozkoumáme, co jsou útoky na procházení adresářů, proč jsou tak nebezpečné a jak před nimi můžete chránit svůj web.
Co je to Directory Traversal?
Procházení adresáře je také známé jako procházení cesty nebo lezení po adresáři. Jde o zranitelnost na webových stránkách, kde je útočník schopen přistupovat k souborům mimo kořenový adresář webového serveru, na kterém je spuštěna aplikace, nebo je číst, manipulací se vstupem webové aplikace.
Když je proveden útok na procházení adresářů, útočníci jsou schopni číst a někdy dokonce provádět změny v omezených souborech a adresářích na webovém aplikačním serveru. Mohou mít přístup k důvěrným souborům na serveru, jako jsou konfigurační soubory databáze, soubory zdrojového kódu, soubory hesel a soubory protokolu.
Directory Traversal a triáda CIA
Procházení adresáře kompromituje všechny tři aspekty co je známé jako triáda CIA. Triáda CIA, která je široce uznávaným modelem pro informační bezpečnost, znamená důvěrnost, integritu a dostupnost.
Důvěrnost
Útoky typu Directory traversal porušují důvěrnost, protože se útočníkovi stanou přístupné omezené a citlivé soubory obsahující informace o systému a dalších uživatelích. Všechny informace, které nepatří uživateli, by měly být uchovávány v tajnosti a neměly by být přístupné neoprávněným osobám. Například útočník, který získá přístup k databázi uživatelů a jejich osobním identifikovatelným informacím (PII), poruší důvěrnost systému a údajů uživatele.
Integrita
Je důležité si uvědomit, že procházení adresářů nemusí skončit jen tím, že kyberútočníci budou moci číst soubory na vašem webovém serveru a přistupovat k nim. Pokud oprávnění systému souborů na vašem serveru nejsou správně nakonfigurována, hacker může být schopen je upravit nebo odstranit důležité soubory nebo adresáře na serveru, čímž narušíte integritu dat na tomto serveru server. Útočník může být například schopen upravit konfigurační soubor, aby si udělil administrativní přístup k serveru nebo odstranil systémové soubory.
Dostupnost
Existuje mnoho způsobů, jak může útočník použít útok typu Directory traversal ke kompromitaci dostupnosti vašeho serveru. Jedním z příkladů je odstranění důležitých souborů na serveru, které naruší provoz serveru nebo způsobí, že webová aplikace přestane reagovat. Dalším příkladem je, že útočník eskaluje oprávnění a přetěžuje server požadavky, které způsobí jeho zhroucení.
Jak funguje útok typu Directory Traversal?
K útoku na procházení adresářů může dojít různými způsoby. Když se útočníci domnívají, že web je zranitelný vůči útokům na procházení adresářů, začnou vytvářet škodlivé požadavky, aby je poslali do této webové aplikace.
Některé webové stránky zobrazují soubory prostřednictvím parametru URL. Vezměte si například tuto adresu URL webu: https://www.website.com/download_file.php? název_souboru=soubor.pdf. To znamená, že webová aplikace volá soubor "file.pdf" ze serveru pomocí relativní URL cesty. V tomto případě aplikace čte z cesty: www/var/documents/file.pdf.
Jednoduchým příkladem útoku procházením adresáře je útok procházením adresáře dotdotslash. V systémech UNIX a Windows, ../ symboly se používají pro návrat o jeden adresář zpět. Útočník může nahradit název dokumentu ../../../../../etc/passwd. Adresa URL pak vypadá takto: https://www.website.com/download_file.php? název_souboru=../../../../../etc/passwd
Útočník by mohl použít toto užitečné zatížení ve webové aplikaci k procházení více adresářů zpět a pokusit se získat soubor "/etc/passwd" ze systému souborů serveru.
V systémech založených na Unixu je soubor "/etc/passwd" prostý textový soubor, který obsahuje informace o lokální uživatelské účty v systému, jako jsou uživatelská jména, ID uživatelů, domovské adresáře a shell preference. Přístup k tomuto souboru může být užitečný pro útočníky, protože může poskytnout informace o potenciálních uživatelských účtech a zranitelnostech v systému.
Mezi další formy útoků na procházení adresářů patří kódování URL, dvojité kódování a útoky s nulovými bajty.
Proč jsou útoky na procházení adresářů tak nebezpečné?
Útoky s procházením adresářů jsou považovány za velmi nebezpečné, protože se téměř nikdy nejedná o samostatné útoky. Chyba zabezpečení týkající se procházení adresářů při zneužití může vést k řadě dalších chyb zabezpečení. Některé z těchto zranitelností zahrnují:
Zveřejňování informací
Ke zpřístupnění informací dochází, když útočník získá přístup k citlivým informacím, ke kterým nemá oprávnění. Útoky typu Directory traversal mohou vést k zranitelnosti prozrazení informací, protože umožňují útočníkům přístup k souborům a adresářům mimo zamýšlený rozsah webové aplikace. Pomocí datových částí procházení adresářů a škodlivých požadavků mohou útočníci stoupat v hierarchii adresářů a potenciálně získat přístup k citlivým souborům a adresářům na serveru. Tuto chybu zabezpečení lze zneužít k získání citlivých informací, jako jsou hesla nebo uživatelská data.
Zahrnutí místního souboru
Může také procházet adresář vést k útokům začlenění místních souborů (LFI).. LFI je zranitelnost ve webových aplikacích, která umožňuje útočníkovi zahrnout a spustit soubory, které jsou uloženy na stejném serveru jako webová aplikace. útoku, útočník může pomocí vstupních parametrů webové aplikace zadat cestu k místnímu souboru, kterou pak webová aplikace zahrne bez řádného Validace. To umožňuje útočníkovi spustit libovolný kód, zobrazit citlivé informace nebo manipulovat s chováním aplikace.
Jak můžete zabránit útokům typu Directory Traversal?
Pro začátek ověřte uživatelský vstup před jeho zpracováním, abyste se ujistili, že obsahuje pouze očekávané znaky a neobsahuje žádné speciální znaky nebo oddělovače cest. Dalším doporučením je používat filtry a povolené hodnoty na seznamu povolených pro porovnání uživatelských vstupů a blokování podezřelých hodnot. Všechny tyto metody by ale mohl zkušený hacker obejít.
Nejlepším způsobem, jak zabránit útokům způsobeným procházením adresářů, je zabránit uživatelům zcela dodávat vstup do systému souborů.
Zaujměte proaktivní přístup ke své bezpečnosti
V kybernetickém ekosystému je mnoho zranitelných míst. Chcete-li zabezpečit svá aktiva před zranitelností, měli byste pravidelně provádět bezpečnostní hodnocení a penetrační testování k identifikaci potenciálních slabin a jejich řešení dříve, než je lze zneužít útočníci.
Kromě toho zůstaňte v obraze s nejnovějšími bezpečnostními záplatami a aktualizacemi pro váš software a systémy, protože pomocí těchto aktualizací lze opravit mnoho zranitelností. Proaktivním přístupem ke kybernetické bezpečnosti můžete pomoci zajistit, aby byl majetek vaší organizace chráněn před zranitelností a zůstal zabezpečen před kybernetickými hrozbami.