Du vil ikke have, at en uvelkommen besøgende krydser din servers filsystem, men angribere har fundet en måde at løse dette på. Hvad kan du gøre?
Når brugere besøger dit websted, stoler de på, at deres data er sikre, og at de og andre brugere ikke kan få adgang til filer eller mapper, som de ikke har tilladelse til at se. Men hvis dit websted er sårbart over for mappegennemgang, kan angribere udnytte denne svaghed til at flytte fra en mappe til en anden og se følsomme filer, der bør begrænses.
Disse angreb udnytter en sårbarhed i dit websteds filsystem og kan afsløre kritisk information, hvilket fører til alvorlige sikkerhedsrisici. I denne artikel vil vi undersøge, hvad mappegennemgangsangreb er, hvorfor de er så farlige, og hvordan du kan beskytte dit websted mod dem.
Hvad er Directory Traversal?
Directory traversal er også kendt som sti traversal eller directory klatring. Det er en sårbarhed på websteder, hvor angriberen er i stand til at få adgang til eller læse filer uden for webserverens rodmappe, der kører applikationen, ved at manipulere webapplikationens input.
Når et mappegennemløbsangreb udføres, er angribere i stand til at læse og nogle gange endda foretage ændringer i begrænsede filer og mapper på webapplikationsserveren. De kan muligvis få adgang til fortrolige filer på serveren som databasekonfigurationsfiler, kildekodefiler, adgangskodefiler og logfiler.
Directory Traversal og CIA-triaden
En kataloggennemgang kompromitterer alle tre aspekter af det, der er kendt som CIA-triaden. CIA-triaden, som er en bredt anerkendt model for informationssikkerhed, står for fortrolighed, integritet og tilgængelighed.
Fortrolighed
Kataloggennemløbsangreb bryder med fortroligheden, fordi begrænsede og følsomme filer, der indeholder oplysninger om systemet og andre brugere, bliver tilgængelige for angriberen. Alle oplysninger, der ikke tilhører en bruger, skal holdes hemmelige og bør ikke være tilgængelige for uvedkommende. For eksempel bryder en hacker, der får adgang til databasen over brugere og deres personlige identificerbare oplysninger (PII'er), fortroligheden af systemet og brugerens data.
Integritet
Det er vigtigt at bemærke, at en mappegennemgang måske ikke bare stopper med, at cyberangriberne kan læse og få adgang til filer på din webserver. Hvis filsystemtilladelserne på din server ikke er konfigureret korrekt, kan hackeren muligvis ændre eller slet vigtige filer eller mapper på serveren, hvilket kompromitterer integriteten af dataene på den server. For eksempel kan angriberen være i stand til at ændre en konfigurationsfil for at give sig selv administrativ adgang til serveren eller slette systemfiler.
Tilgængelighed
Der er mange måder, hvorpå en angriber kan bruge directory-traversal-angrebet til at kompromittere tilgængeligheden af din server. Et eksempel er sletning af kritiske filer på serveren, der forstyrrer driften af serveren eller får webapplikationen til ikke at reagere. Et andet eksempel er, at angriberen eskalerer privilegier og overbelaster serveren med anmodninger, der får den til at gå ned.
Hvordan fungerer et kataloggennemløbsangreb?
Et kataloggennemløbsangreb kan forekomme på forskellige måder. Når angribere har mistanke om, at et websted er sårbart over for mappegennemgangsangreb, begynder de at lave ondsindede anmodninger om at sende til den pågældende webapplikation.
Nogle websteder viser filer via URL-parameteren. Tag for eksempel denne hjemmesides URL: https://www.website.com/download_file.php? filnavn=fil.pdf. Det betyder, at webapplikationen kalder filen "file.pdf" fra serveren ved hjælp af en relativ URL-sti. I dette tilfælde læser applikationen fra stien: www/var/documents/file.pdf.
Et simpelt eksempel på et kataloggennemløbsangreb er dotdotslash directorytraversalangrebet. I UNIX- og Windows-systemer er ../ symboler bruges til at gå én mappe tilbage. Angriberen kan erstatte dokumentnavnet med ../../../../../etc/passwd. URL'en ser så sådan ud: https://www.website.com/download_file.php? filnavn=../../../../../etc/passwd
En angriber kunne bruge denne nyttelast i webapplikationen til at gennemløbe flere mapper bagud for at forsøge at hente filen "/etc/passwd" fra serverens filsystem.
I Unix-baserede systemer er filen "/etc/passwd" en almindelig tekstfil, der indeholder information om lokale brugerkonti på systemet, såsom brugernavne, bruger-id'er, hjemmemapper og shell præferencer. Adgang til denne fil kan være nyttig for hackere, fordi den kan give oplysninger om potentielle brugerkonti og sårbarheder i systemet.
Andre former for mappegennemgangsangreb inkluderer URL-kodning, dobbeltkodning og null-byte-angreb.
Hvorfor er kataloggennemløbsangreb så farlige?
Directory traversal angreb betragtes som meget farlige, fordi de næsten aldrig er selvstændige angreb. En kataloggennemgang sårbarhed, når den udnyttes, kan føre til flere andre sårbarheder. Nogle af disse sårbarheder omfatter:
Offentliggørelse af oplysninger
Offentliggørelse af oplysninger sker, når en hacker får adgang til følsomme oplysninger, som de ikke har tilladelse til at se. Kataloggennemløbsangreb kan føre til sårbarheder i offentliggørelse af oplysninger, fordi de tillader angribere at få adgang til filer og mapper uden for det tilsigtede omfang af en webapplikation. Ved at bruge kataloggennemløbende nyttelast og ondsindede anmodninger kan angribere klatre op i kataloghierarkiet for potentielt at få adgang til følsomme filer og mapper på en server. Denne sårbarhed kan udnyttes til at udtrække følsomme oplysninger såsom adgangskoder eller brugerdata.
Inkludering af lokal fil
Kataloggennemgang kan også føre til lokal filinkludering (LFI) angreb. LFI er en sårbarhed i webapplikationer, der tillader en angriber at inkludere og eksekvere filer, der er gemt på samme server som webapplikationen i en LFI angreb, kan en angriber bruge en webapplikations inputparametre til at angive en lokal filsti, som derefter inkluderes af webapplikationen uden korrekt validering. Dette giver en angriber mulighed for at udføre vilkårlig kode, se følsomme oplysninger eller manipulere applikationens adfærd.
Hvordan kan du forhindre et kataloggennemløbsangreb?
For det første skal du validere brugerinput, før du behandler det for at sikre, at det kun indeholder de forventede tegn og ikke indeholder nogen specialtegn eller sti-separatorer. En anden anbefaling er at bruge filtre og hvidlistede tilladte værdier til at sammenligne brugerinput og blokere mistænkelige værdier. Men alle disse metoder kunne omgås af en erfaren hacker.
Den bedste tilgang til at forhindre mappegennemgangsangreb er at undgå helt at tillade brugere at levere input til filsystemet.
Tag en proaktiv tilgang til din sikkerhed
Der er mange sårbarheder i cyberøkosystemet. For at sikre dine aktiver mod sårbarheder, bør du udføre regelmæssige sikkerhedsvurderinger og penetrationstest for at identificere potentielle svagheder og adressere dem, før de kan udnyttes angribere.
Derudover skal du holde dig opdateret med de seneste sikkerhedsrettelser og opdateringer til din software og systemer, da mange sårbarheder kan lappes med disse opdateringer. Ved at tage en proaktiv tilgang til cybersikkerhed kan du være med til at sikre, at din organisations aktiver er beskyttet mod sårbarheder og forbliver sikret mod cybertrusler.