Nginxi konfiguratsioonide haavatavus vale alias ploki seadistuste tõttu

Mõned Nginxiga serverid jäävad haavatavaks Nginx Alias Traversal tehnikale, mis esitati 2018. aastal Blackhati konverentsil ning võimaldab pääseda juurde failidele ja kataloogidele, mis asuvad väljaspool juurkatalooge, mille määrab direktiiv "alias". Probleem ilmneb ainult konfigureerimistes, kus direktiiv "alias" asub "location" ploki sees, mille parameeter ei lõpe simboliga "/", samas kui "alias" lõpeb "/".

Nginxi konfiguratsioonide haavatavus vale alias ploki seadistuste tõttu

Probleem on selles, et alias-direktiiviga plokkide failid edastatakse läbi palutud tee lisamise, pärast selle vastavusse viimist location-direktiiviga ja maskist märgitud osa tee lõikamisest. Näidatud haavatava konfiguratsiooni puhul saab ründaja nõuda faili „/img../test.txt” ja see päring kuulub location-maskile „/img”, mille järel jääv saba „../test.txt” lisatakse alias-direktiivi teele „/var/images/” ja lõpuks nõutakse faili „/var/images/../test.txt”. Sel viisil võib ründaja juurde pääseda kõigile failidele kaustas „/var”, mitte ainult failidele kaustas „/var/images/”; näiteks, nginx logifaili saamiseks võib saata päringu „/img../log/nginx/access.log”.

Konfiguratsioonides, kus alias-direktiivi väärtus ei lõppe sümboliga „/” (näiteks „alias /var/images;”), ei saa ründaja minna vanemasse kataloogi, kuid tal on võimalus nõuda muud katalooge kaustas /var, mille nimi algab antud konfiguratsioonis märgitust. Näiteks, nõudes „/img.old/test.txt”, saab juurde pääseda kataloogile „var/images.old/test.txt”.

GitHub'i reposte analüüs näitas, et nginx'i seadistuse probleemiga seotud vead esinevad endiselt reaalses projektis. Näiteks tuvastati probleem Bitwarden'i paroolihalduri serveripoolses osas, mis võis võimaldada juurdepääsu kõikidele failidele kaustas /etc/bitwarden (päringud /attachments anti välja kaustast /etc/bitwarden/attachments/), sealhulgas seal hoitavale paroolide andmebaasile „vault.db”, sertifikaadile ja logidele, mille saamiseks piisab päringute saatmisest „/attachments..../vault.db”, „/attachments..../identity.pfx”, „/attachments..../logs/api.log” jne.

Nginxi konfiguratsioonide haavatavus vale alias ploki seadistuste tõttu
Nginxi konfiguratsioonide haavatavus vale alias ploki seadistuste tõttu

Meetod töötas samuti Google HPC Toolkit'is, kus päringud /static suunati katalooge „../hpc-toolkit/community/front-end/website/static/”. Rünnatud isik sai saata päringud „/static..../.secret_key” ja „/static..../db.sqlite3”, et saada andmebaasi koos privaatvõtme ja sisselogimisega.

Nginxi konfiguratsioonide haavatavus vale alias ploki seadistuste tõttu


Allikas: opennet.ru
Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster