Dobësia e konfigurimit Nginx me cilësime të pasakta të bllokut të pseudonimit

Disa serverë me nginx mbeten të pambrojtur ndaj teknikës Nginx Alias ​​​​Traversal, e cila u propozua në konferencën Blackhat në vitin 2018 dhe lejon aksesin në skedarët dhe drejtoritë e vendosura jashtë drejtorisë rrënjësore të specifikuar në direktivën "alias". Problemi shfaqet vetëm në konfigurimet me një direktivë "alias" të vendosur brenda bllokut "location", parametri i të cilit nuk përfundon me një karakter "/", ndërsa "alias" përfundon me "/".

Dobësia e konfigurimit Nginx me cilësime të pasakta të bllokut të pseudonimit

Thelbi i problemit është se skedarët për blloqet me direktivën e pseudonimit jepen duke bashkangjitur shtegun e kërkuar, pasi ta përputhni atë me maskën nga direktiva e vendndodhjes dhe të prisni pjesën e shtegut të specifikuar në këtë maskë. Për shembullin e një konfigurimi të cenueshëm të treguar më sipër, një sulmues mund të kërkojë skedarin "/img../test.txt" dhe kjo kërkesë do të përputhet me maskën e specifikuar në vendndodhjen "/img", pas së cilës bishti i mbetur "../ test.txt" do t'i bashkëngjitet shtegut nga direktiva e pseudonimit "/var/images/" dhe si rezultat do të kërkohet skedari "/var/images/../test.txt". Kështu, sulmuesit mund të kenë akses në çdo skedar në direktorinë "/var", dhe jo vetëm skedarë në "/var/images/", për shembull, për të shkarkuar regjistrin e nginx, mund të dërgoni kërkesën "/img../log/ nginx/ access.log".

Në konfigurimet në të cilat vlera e direktivës së pseudonimit nuk përfundon me një karakter "/" (për shembull, "alias /var/images;"), sulmuesi nuk mund të ndryshojë në drejtorinë prind, por mund të kërkojë një drejtori tjetër në /var emri i të cilit fillon me specifikuar në konfigurim. Për shembull, duke kërkuar "/img.old/test.txt" ju mund të hyni në direktorinë "var/images.old/test.txt".

Një analizë e depove në GitHub tregoi se gabimet në konfigurimin e nginx që çojnë në problem gjenden ende në projekte reale. Për shembull, prania e një problemi u zbulua në pjesën e pasme të menaxherit të fjalëkalimeve Bitwarden dhe mund të përdoret për të hyrë në të gjithë skedarët në drejtorinë /etc/bitwarden (kërkesat për /attachments u lëshuan nga /etc/bitwarden/attachments/), duke përfshirë bazën e të dhënave të ruajtura atje me fjalëkalime "vault. db", certifikatë dhe regjistra, për të cilat mjaftonte të dërgoheshin kërkesat "/attachments../vault.db", "/attachments../identity.pfx", "/attachments ../logs/api.log", etj. .P.

Dobësia e konfigurimit Nginx me cilësime të pasakta të bllokut të pseudonimit
Dobësia e konfigurimit Nginx me cilësime të pasakta të bllokut të pseudonimit

Metoda funksionoi gjithashtu me Google HPC Toolkit, ku kërkesat /static u ridrejtuan në direktorinë "../hpc-toolkit/community/front-end/website/static/". Për të marrë një bazë të dhënash me një çelës privat dhe kredenciale, një sulmues mund të dërgojë pyetje "/static../.secret_key" dhe "/static../db.sqlite3".

Dobësia e konfigurimit Nginx me cilësime të pasakta të bllokut të pseudonimit


Burimi: opennet.ru

Shto një koment