Du vill inte att en ovälkommen besökare ska gå igenom din servers filsystem, men angripare har hittat ett sätt att lösa detta. Vad kan du göra?
När användare besöker din webbplats litar de på att deras data är säker och att de och andra användare inte kan komma åt filer eller mappar som de inte har behörighet att se. Men om din webbplats är sårbar för katalogpassering kan angripare utnyttja denna svaghet för att flytta från en katalog till en annan och visa känsliga filer som bör begränsas.
Dessa attacker drar fördel av en sårbarhet i din webbplats filsystem och kan avslöja kritisk information, vilket leder till allvarliga säkerhetsrisker. I den här artikeln kommer vi att utforska vad katalogöverskridande attacker är, varför de är så farliga och hur du kan skydda din webbplats från dem.
Vad är Directory Traversal?
Katalogkorsning är också känd som vägövergång eller katalogklättring. Det är en sårbarhet på webbplatser där angriparen kan komma åt eller läsa filer utanför webbserverns rotkatalog som kör programmet genom att manipulera webbapplikationens indata.
När en katalogövergångsattack utförs kan angripare läsa och ibland även göra ändringar i begränsade filer och kataloger på webbapplikationsservern. De kanske kan komma åt konfidentiella filer på servern som databaskonfigurationsfiler, källkodsfiler, lösenordsfiler och loggfiler.
Directory Traversal och CIA-triaden
En kataloggenomgång äventyrar alla tre aspekterna av det som kallas CIA-triaden. CIA-triaden, som är en allmänt erkänd modell för informationssäkerhet, står för konfidentialitet, integritet och tillgänglighet.
Sekretess
Katalogkorsningsattacker bryter mot konfidentialitet eftersom begränsade och känsliga filer som innehåller information om systemet och andra användare blir tillgängliga för angriparen. All information som inte tillhör en användare ska hållas hemlig och ska inte vara tillgänglig för obehöriga. Till exempel, en angripare som får tillgång till databasen med användare och deras personliga identifierbara information (PII), bryter mot konfidentialiteten för systemet och användarens data.
Integritet
Det är viktigt att notera att en katalogövergång kanske inte bara slutar med att cyberattackarna kan läsa och komma åt filer på din webbserver. Om filsystembehörigheterna på din server inte är korrekt konfigurerade kan hackaren kanske ändra eller radera viktiga filer eller kataloger på servern, vilket äventyrar integriteten för data på den server. Angriparen kan till exempel kunna ändra en konfigurationsfil för att ge sig själv administrativ åtkomst till servern eller ta bort systemfiler.
Tillgänglighet
Det finns många sätt som en angripare kan använda kataloggenomgångsattacken för att äventyra tillgängligheten för din server. Ett exempel är att radera kritiska filer på servern som stör driften av servern eller gör att webbapplikationen slutar svara. Ett annat exempel är att angriparen eskalerar privilegier och överbelastas servern med förfrågningar som får den att krascha.
Hur fungerar en katalogövergångsattack?
En katalogövergångsattack kan ske på olika sätt. När angripare misstänker att en webbplats är sårbar för katalogövergångsattacker börjar de skapa skadliga förfrågningar att skicka till den webbapplikationen.
Vissa webbplatser visar filer via URL-parametern. Ta till exempel denna webbadress: https://www.website.com/download_file.php? filnamn=fil.pdf. Detta betyder att webbapplikationen anropar filen "file.pdf" från servern med hjälp av en relativ URL-sökväg. I det här fallet läser applikationen från sökvägen: www/var/documents/file.pdf.
Ett enkelt exempel på en kataloggenomgångsattack är dotdotslash kataloggenomgångsattacken. I UNIX- och Windows-system är ../ symboler används för att gå tillbaka en katalog. Angriparen kan ersätta dokumentnamnet med ../../../../../etc/passwd. URL: en ser då ut så här: https://www.website.com/download_file.php? filnamn=../../../../../etc/passwd
En angripare kan använda denna nyttolast i webbapplikationen för att gå bakåt i flera kataloger för att försöka hämta filen "/etc/passwd" från serverns filsystem.
I Unix-baserade system är filen "/etc/passwd" en vanlig textfil som innehåller information om lokala användarkonton på systemet, såsom användarnamn, användar-ID, hemkataloger och skal preferenser. Åtkomst till den här filen kan vara användbar för angripare eftersom den kan ge information om potentiella användarkonton och sårbarheter i systemet.
Andra former av katalogövergångsattacker inkluderar URL-kodning, dubbelkodning och nullbyte-attacker.
Varför är katalogövergångsattacker så farliga?
Katalogövergångsattacker anses vara mycket farliga eftersom de nästan aldrig är fristående attacker. En katalogövergångssårbarhet när den utnyttjas kan leda till flera andra sårbarheter. Några av dessa sårbarheter inkluderar:
Informationsgivning
Informationsröjande sker när en angripare får tillgång till känslig information som de inte har behörighet att se. Katalogkorsningsattacker kan leda till sårbarheter för informationsröjande eftersom de tillåter angripare att komma åt filer och kataloger utanför den avsedda omfattningen av en webbapplikation. Genom att använda nyttolaster för genomgående kataloger och skadliga förfrågningar kan angripare klättra upp i kataloghierarkin för att potentiellt komma åt känsliga filer och kataloger på en server. Denna sårbarhet kan utnyttjas för att extrahera känslig information som lösenord eller användardata.
Lokal filinkludering
Katalogpassering kan också leda till attacker för lokal filinkludering (LFI).. LFI är en sårbarhet i webbapplikationer som gör att en angripare kan inkludera och köra filer som är lagrade på samma server som webbapplikationen i en LFI attack, kan en angripare använda en webbapplikations inmatningsparametrar för att ange en lokal filsökväg, som sedan inkluderas av webbapplikationen utan korrekt godkännande. Detta tillåter en angripare att exekvera godtycklig kod, visa känslig information eller manipulera programmets beteende.
Hur kan du förhindra en katalogövergångsattack?
Till att börja med, validera användarinmatning innan du bearbetar den för att säkerställa att den bara innehåller de förväntade tecknen och inte innehåller några specialtecken eller sökvägsavgränsare. En annan rekommendation är att använda filter och vitlistade tillåtna värden för att jämföra användarinmatning och blockera misstänkta värden. Men alla dessa metoder skulle kunna kringgås av en erfaren hackare.
Det bästa tillvägagångssättet för att förhindra katalogövergångsattacker är att undvika att helt och hållet tillåta användare att ge indata till filsystemet.
Ta en proaktiv strategi för din säkerhet
Det finns många sårbarheter i cyberekosystemet. För att säkra dina tillgångar från sårbarheter bör du utföra regelbundna säkerhetsbedömningar och penetrationstestning för att identifiera potentiella svagheter och åtgärda dem innan de kan utnyttjas angripare.
Håll dig dessutom uppdaterad med de senaste säkerhetskorrigeringarna och uppdateringarna för din programvara och system, eftersom många sårbarheter kan korrigeras med dessa uppdateringar. Genom att ta ett proaktivt förhållningssätt till cybersäkerhet kan du hjälpa till att säkerställa att din organisations tillgångar skyddas mot sårbarheter och förblir säkra mot cyberhot.