Ce este Directory Traversal?

Publicat: 2023-05-09

Înșelând un server web să expună informații altfel restricționate, atacatorii pot obține un instrument puternic pentru a compromite un sistem și a provoca daune semnificative. Parcurgerea directoarelor este o metodă comună folosită pentru a realiza acest lucru. O încercare de a naviga în afara zonelor sistemului de fișiere rezervate unui anumit site web poate duce la furtul de date și la executarea de cod arbitrar.

De obicei, serverele web restricționează accesul la sistemul de fișiere prin limitarea fișierelor unui site web în directorul său rădăcină, cunoscut și sub numele de folderul rădăcină a documentului. Cu toate acestea, infractorii cibernetici pot ocoli aceste controale de securitate și pot exploata permisiunile de fișiere nesigure. În acest fel, ei pot obține acces neautorizat la informațiile critice stocate în altă parte pe serverul victimei.

Vulnerabilitățile de includere a fișierelor, identificate în mod regulat în pluginuri și teme, fac site-urile WordPress o țintă cu prioritate ridicată pentru atacurile care implică traversarea directoarelor. Și, în timp ce implementarea practicilor de codare sigură este o sarcină pentru dezvoltatorii de pluginuri și teme, implementarea bunelor practici de securitate este responsabilitatea proprietarilor de site-uri web.

În acest ghid pentru traversarea directoarelor, vom explora această metodă comună pe care o folosesc hackerii pentru a ieși din directorul rădăcină al site-ului web pentru a accesa date restricționate. Veți afla cum traversarea căii le permite atacatorilor să exploateze cu succes vulnerabilitățile de includere a fișierelor locale (LFI) pentru a provoca daune și cum să vă protejați site-ul WordPress împotriva acestor tipuri de atacuri prin implementarea unor practici de securitate solide.

În primul rând, să privim mai îndeaproape conceptele de operațiuni securizate de server. Mai precis, modul în care diferitele tipuri de date sunt separate în mediul serverului și ce loc au datele site-ului în acest ecosistem.

parcurgerea directoarelor

Cum partiționarea datelor ajută la securizarea operațiunilor serverului

Site-urile web și aplicațiile web se bazează pe servere pentru a-și stoca datele. Aceste date sunt apoi procesate de serverele web și de baze de date și alte aplicații specifice înainte de a fi livrate browserelor vizitatorilor pe internet, ca pagini web solicitate. Componentele hardware și software subiacente lucrează împreună pentru a crea o infrastructură robustă care alimentează această funcționalitate.

Cu toate acestea, această arhitectură client-server necesită și o abordare atentă a securității serverului. Serviciile critice și alte componente ale sistemului de operare al serverului trebuie să fie complet separate de fișierele utilizatorului și de datele site-ului web. Această separare a datelor din sistemul de fișiere este cunoscută în mod obișnuit ca partiționare a datelor.

Partiționarea datelor ajută la securizarea celor mai vulnerabile aspecte ale operațiunilor serverului prin segregarea diferitelor tipuri de date în partiții separate. Implementarea partiționării sistemului de fișiere și a altor mecanisme de securitate ajută la protejarea serverelor împotriva accesului neautorizat la informații sensibile și a compromisurilor la nivel de sistem. În plus, partiționarea datelor permite gestionarea eficientă a resurselor și îmbunătățește performanța serverului prin separarea datelor modificate frecvent de fișierele predominant doar în citire și izolarea datelor de sistem și de utilizator.

Controlul accesului serverului web: limitarea datelor site-ului web cu rădăcinile documentului

Pentru a izola datele site-ului de datele de sistem, serverele web utilizează conceptul de rădăcină a documentelor. Aceasta implică restricționarea fișierelor site-ului web la un director desemnat pe sistemul de fișiere, cunoscut sub numele de directorul rădăcină al unui site web. Prin definirea rădăcinii documentului, serverul web poate direcționa și răspunde corect solicitărilor primite pentru conținutul site-ului respectiv. Acest director rădăcină este punctul de plecare pentru gestionarea cererilor web pentru acel site web.

Această limitare ajută la prevenirea accesului neautorizat la datele critice ale serverului, cum ar fi informațiile despre sistemul de operare și fișierele de configurare cheie, stocate în afara directorului rădăcină desemnat. Aceasta înseamnă că orice scripturi sau alte conținuturi și funcționalități legate de un anumit site web pot accesa și modifica doar date din directorul rădăcină și subdirectoarele acestuia, ceea ce protejează restul serverului în cazul unei încălcări a securității.

Pe lângă rădăcinile documentelor, serverele web folosesc alte mecanisme de control al accesului pentru a restricționa și mai mult accesul la datele site-ului web. Unul dintre cele mai notabile mecanisme sunt permisiunile pentru fișiere. Permisiunile pentru fișiere ajută la aplicarea principiului privilegiului minim, ceea ce înseamnă că utilizatorilor de sistem sau proceselor li se acordă doar nivelul minim de acces necesar pentru a-și îndeplini funcțiile prevăzute.

În ciuda securității robuste a acestei abordări, hackerii pot folosi o serie de tehnici rău intenționate pentru a o ocoli. O astfel de metodă este traversarea directoarelor. Atacurile de traversare a directoarelor exploatează punctele slabe ale codului site-ului web și implementarea permisiunilor securizate pentru a păcăli serverul web să dezvăluie informații restricționate care altfel ar fi inaccesibile din browser.

Ce este Directory Traversal?

Parcurgerea directoarelor, cunoscută și sub denumirea de traversare a căii, este o tehnică rău intenționată care vizează acordarea accesului la fișiere și directoare restricționate în afara rădăcinii documentului a site-ului web sau a aplicației web vizate. Traversarea căilor permite atacatorului să navigheze prin sistemul de fișiere al serverului până la directorul rădăcină și alte foldere restricționate prin browser - tipul de comportament care nu ar trebui să fie posibil în circumstanțe normale.

Parcurgerea directoarelor se realizează prin manipularea variabilelor care fac referire la fișiere folosind caractere speciale, cunoscute sub denumirea de secvențe de traversare a căilor. Secvențele precum dot-dot-slash „../” sunt interpretate de serverul web, forțându-l să mute un director în sus în ierarhia sistemului de fișiere, îndepărtându-se de rădăcina documentului site-ului web.

Dacă un site web este stocat în /home/user/public_html, furnizarea unei secvențe de parcurgere a directorului „../../../etc” va permite atacatorului să navigheze la directorul /etc, care stochează configurația critică a sistemului pe Linux servere.

Dacă listarea directoarelor este dezactivată în configurația serverului web, criminalul cibernetic nu va putea vedea conținutul directorului solicitat. Acest lucru poate crește parțial securitatea sistemului și poate limita daunele potențiale cauzate de atacurile de traversare a directoarelor, deoarece atacatorul va trebui să specifice fișierul exact pe care dorește să-l afișeze în browser. Dar, cum de cele mai multe ori, hackerii știu exact ce informații caută, dezactivarea listei directoare nu îi va împiedica să le acceseze.

Fișierul /etc/passwd este una dintre țintele comune ale atacurilor de traversare a directoarelor. Pe serverele Linux, fișierul /etc/passwd conține lista utilizatorilor creați pe server. Acest lucru poate oferi hackerilor un bun punct de plecare pentru atacuri cu forță brută asupra acreditărilor utilizatorilor. Deoarece /etc/passwd are permisiuni pentru fișiere de 644, ceea ce înseamnă că poate fi citit de toți utilizatorii din sistem, inclusiv de utilizatorul cu care rulează serverul web. În acest fel, serverul web poate reda conținutul fișierului prin browser.

Cum funcționează traversarea directorului?

Ca tehnică rău intenționată, traversarea directoarelor este rareori folosită ca singurul mijloc de a obține acces la informații sensibile de pe serverele victimelor. În primul rând, atacatorii trebuie să găsească o modalitate de a exploata o vulnerabilitate pe site-ul web vizat pentru a găsi o modalitate de a-l face să afișeze informațiile solicitate în browser. Numai atunci este folosită traversarea directoarelor pentru a naviga prin sistemul de fișiere al serverului victimei pentru a ajunge la directoare restricționate.

Vulnerabilitățile de includere a fișierelor sunt cele care permit utilizarea traversării directoarelor. Vulnerabilitatea de traversare a directoarelor apare atunci când un site web nu igienizează corect intrarea utilizatorului, cum ar fi căile de fișiere furnizate folosind includerea dinamică a fișierelor. O combinație de includere a fișierelor locale (LFI) și vulnerabilitățile de traversare a directoarelor le permit hackerilor să acceseze date în afara rădăcinii documentului site-ului web vizat, dezvăluind informații sensibile de server.

Un exemplu de traversare a directorului

Pentru a înțelege mai bine cum pot fi exploatate vulnerabilitățile de includere a fișierelor locale și de traversare a directoarelor, să aruncăm o privire la următorul exemplu. Acest exemplu este o reprezentare simplificată a modului în care este utilizată traversarea directoarelor printr-un defect de includere a fișierelor.

Un dezvoltator web adaugă o pagină web content.php care va fi folosită pentru a permite site-ului web să încarce diferite pagini sau componente în mod dinamic, în funcție de cererea utilizatorului. De exemplu, dacă un vizitator al site-ului web dorește să vadă pagina „Contactați-ne”, solicitarea acestuia poate fi afișată în bara de adrese a browserului ca „https://website.com/content.php?page=contact_us“.

Pagina content.php ar folosi tehnica locală de includere a fișierelor pentru a face referire la fișierul care corespunde parametrului „contact_us”, care ar putea conține codul PHP și HTML pentru pagina „Contactați-ne” solicitată. În acest exemplu, pagina web content.php acționează ca un controler, care încarcă fișierul corespunzător care generează conținutul în mod dinamic pe baza intrării utilizatorului.

Cu toate acestea, dacă intrarea utilizatorului nu este validată sau dezinfectată corespunzător, vulnerabilitățile de includere a fișierelor și de traversare a directoarelor pot fi exploatate de atacatori pentru a include fișiere arbitrare, care ar fi apoi afișate în browser.

De exemplu, un hacker poate transmite „../../../../../var/log/apache2/access.log” ca valoare a parametrului de interogare a paginii – o serie de secvențe de parcurgere a directoarelor urmate de adresa jurnalului principal de acces al serverului web Apache în sistemul de fișiere. În acest fel, atacatorul poate vizualiza conținutul fișierului jurnal, care conține informații sensibile, cum ar fi adrese IP, șiruri de agenți de utilizator și adrese URL solicitate de vizitatorii site-ului web.

Cum pot permisiunile pentru fișiere să faciliteze sau să atenueze traversarea directorului

Permisiunile pentru fișiere joacă un rol important în asigurarea securității serverului și a site-ului web. Limitând accesul la fișier doar la anumite utilizatori și grupuri de sistem, permisiunile pot ajuta la facilitarea sau atenuarea traversării directoarelor.

Într-un atac de includere a fișierelor folosind traversarea directoarelor, conținutul fișierului solicitat de atacator va fi afișat în browser numai dacă permisiunile acestuia permit sistemului care utilizează serverul web să-l citească. În timp ce unele fișiere restricționate, cum ar fi /etc/password, au permisiuni de 644, ceea ce le face lizibile pentru toți utilizatorii de sistem, alte fișiere rămân accesibile doar utilizatorului root.

Fișierul /etc/shadow, care conține parole criptate pentru toți utilizatorii de pe un server Linux, are permisiuni de fișiere de 640, ceea ce îl face inaccesibil pentru orice alt utilizator decât root. Acest lucru face imposibil pentru hackeri să acceseze fișierul prin browser prin traversarea directoarelor.

Cum să detectați vulnerabilitățile de traversare a directorului pe site-ul dvs. WordPress?

Nucleul WordPress menține un nivel ridicat de securitate și este complet protejat de vulnerabilitățile de includere a fișierelor și de traversarea directoarelor. Cu toate acestea, opțiunile ridicate de personalizare oferite de platformă ridică posibilitatea ca acele vulnerabilități să fie prezente pe un site WordPress. Chiar și cele mai reputate pluginuri și teme WordPress pot conține defecte de securitate care sunt descoperite în mod regulat.

Rapoartele săptămânale de vulnerabilitate WordPress iThemes vă ajută să identificați și să corectați rapid vulnerabilitățile nou dezvăluite în pluginurile și temele WordPress, inclusiv traversarea directoarelor. Pur și simplu verificați rapoartele de vulnerabilitate pentru a vedea dacă au fost găsite recent deficiențe de securitate în pluginurile pe care le utilizați pe site-ul dvs. WordPress, precum și în tema dvs. activă și vedeți dacă a fost lansat un patch.

iThemes Security Pro poate automatiza procesul de scanare a site-ului dvs. WordPress pentru vulnerabilități și poate corecta rapid defectele identificate în numele dvs. iThemes Security Pro va efectua o scanare avansată a vulnerabilităților de două ori pe zi, vă va e-mail dacă sunt detectate vulnerabilități și va instala automat o actualizare dacă este disponibilă o soluție de securitate.

Cum să vă apărați împotriva traversării directorului?

Exploatarea vulnerabilităților găsite în pluginuri și teme este unul dintre cei mai mari vectori de atac pe care hackerii îi folosesc pentru a obține acces neautorizat, a fura date sensibile și a încărca programe malware, inclusiv shell-uri backdoor, pe site-urile WordPress. Și, în timp ce respectarea practicilor de codare sigură intră în domeniul de aplicare al responsabilităților dezvoltatorilor de pluginuri și teme, proprietarii site-urilor WordPress sunt responsabili pentru implementarea măsurilor de protecție la nivel local. Doar o abordare cu mai multe fațete a securității WordPress poate ajuta la reducerea riscului de a deveni victima atacurilor cibernetice moderne și sofisticate.

Păstrați tot software-ul actualizat

Menținerea nucleului WordPress, a pluginurilor active și a temei alese actualizate la cea mai recentă versiune disponibilă este primul pas către eliminarea traversării directoarelor și a altor vulnerabilități severe la nivel de aplicație. Deoarece sunt identificate noi defecte de securitate în software-ul care alimentează site-ul dvs. WordPress, este de cea mai mare importanță să instalați corecții de securitate imediat ce acestea devin disponibile. Înainte ca vulnerabilitatea descoperită să fie abordată de către dezvoltatorul pluginului sau a temei, software-ul afectat poate fi dezactivat pentru a reduce suprafața de atac.

Urmărirea actualizărilor de pluginuri și teme poate fi o sarcină dificilă, dar cu iThemes Security Pro, proprietarii de site-uri web pot avea acces la o soluție cuprinzătoare care simplifică procesul și ajută la asigurarea ca site-urile web rămân actualizate și protejate împotriva vulnerabilităților de securitate. Funcția de gestionare a versiunilor oferă actualizări automate de software pentru a vă proteja site-ul WordPress.

Configurați permisiunile pentru fișiere securizate

Permisiunile securizate pentru fișiere WordPress oferă un nivel suplimentar de apărare împotriva atacurilor care vizează obținerea accesului la informații sensibile ale site-ului web și ale serverului. Și, deși rareori trebuie să modificați permisiunile pentru fișierele de configurare a sistemului critic și alte date restricționate de server, responsabilitatea de a seta permisiuni securizate pentru fișierele site-ului web revine adesea proprietarului site-ului web.

Păstrarea informațiilor critice WordPress, cum ar fi fișierul wp-config.php, poate ajuta la prevenirea eficientă a compromisurilor între conturi prin legături simbolice ale atacurilor de includere a fișierelor care exploatează vulnerabilitățile de traversare a directoarelor. Verificările permisiunilor de fișiere în iThemes Security Pro îi ajută pe proprietarii de site-uri web să se asigure că acest mecanism de securitate critic este implementat corect pe site-urile lor WordPress.

Implementați un firewall pentru aplicații web

Firewall-urile funcționează prin filtrarea solicitărilor web rău intenționate care se potrivesc cu modele cunoscute sau prezintă modele anormale înainte de a fi transmise serverului web. Ca o primă linie de apărare robustă împotriva unei game largi de atacuri cibernetice bazate pe bot, cum ar fi refuzul serviciului (Dos) și refuzarea serviciului distribuit (DDoS) și atacurile cu injecție de date, cum ar fi scripting-ul încrucișat (XSS) și SQL injecții (SQLi).

Implementarea unui firewall de aplicație web (WAF) sau a unei combinații de soluție de prevenire a intruziunilor bazată pe gazdă și pe cloud poate reduce semnificativ posibilitatea unei încercări de spargere de succes. Acționând ca un al doilea strat de apărare împotriva includerii fișierelor și a vulnerabilităților de traversare a directoarelor, firewall-urile pentru aplicații web asigură că hackerii pot exploata orice deficiențe de securitate găsite în versiunile nepatchate ale pluginurilor și temelor.

Cu IThemes Security Pro, protecția împotriva forței brute și soluțiile de gestionare a botului încorporate ajută la oprirea roboților dăunători și la filtrarea solicitărilor web rău intenționate să ajungă la site-ul dvs. Cu un plus de autentificare multi-factor alimentată de chei de acces cu autentificare biometrică, această suită cuprinzătoare de securitate oferă o abordare cu mai multe fațete pentru a-ți apăra site-ul împotriva diferitelor tipuri de amenințări de securitate.

Asigurați-vă site-ul WordPress cu iThemes Security Pro

Includerea fișierelor și vulnerabilitățile de traversare a directoarelor reprezintă o amenințare semnificativă la adresa securității site-ului web, deoarece acestea sunt exploatate frecvent de hackeri care caută să obțină acces neautorizat la date sensibile sau să execute cod rău intenționat pe serverul victimei. Folosind secvențe de parcurgere a directoarelor și furnizând unui site web vulnerabil calea către anumite date, un atacator poate păcăli serverul web pentru a expune informații despre server și site web altfel restricționate.

În ciuda faptului că este studiată și recunoscută pe scară largă, traversarea directoarelor rămâne o preocupare majoră pentru site-urile WordPress care se bazează pe software învechit și nu au măsuri de securitate adecvate. Efectuarea în timp util a actualizărilor de bază, teme și pluginuri WordPress, configurarea permisiunilor securizate pentru fișiere și implementarea unui firewall pentru aplicații web pot reduce semnificativ riscul ca site-ul dvs. să fie susceptibil la atacuri de includere a fișierelor care să folosească traversarea directoarelor.

iThemes Security Pro vă poate ajuta să vă apărați site-ul WordPress împotriva unei game largi de amenințări cibernetice, oferind o abordare cuprinzătoare și cu mai multe fațete a securității site-ului. Cu scanarea avansată a vulnerabilităților, actualizări automate de software și soluții puternice de gestionare a botului încorporate, iThemes Security Pro acționează ca consilier personal de securitate, păstrând site-ul dvs. WordPress în siguranță și în siguranță în orice moment.