Nginx konfigūracijos pažeidžiamumas su neteisingais slapyvardžių blokavimo nustatymais

Kai kurie „Nginx“ serveriai išlieka pažeidžiami „Nginx Alias ​​​​Traversal“ technikos, kuri buvo pasiūlyta „Blackhat“ konferencijoje 2018 m. ir leidžia pasiekti failus ir katalogus, esančius už šakninio katalogo, nurodyto „alias“ direktyvoje. Problema atsiranda tik konfigūracijose su „alias“ direktyva, esančia „location“ bloke, kurio parametras nesibaigia simboliu „/“, o „alias“ baigiasi „/“.

Nginx konfigūracijos pažeidžiamumas su neteisingais slapyvardžių blokavimo nustatymais

Problemos esmė ta, kad failai blokams su alias direktyva aptarnaujami pridedant prašomą kelią, palyginus jį su masku iš vietos direktyvos ir iškirpus šioje kaukėje nurodytą kelio dalį. Aukščiau parodytame pažeidžiamos konfigūracijos pavyzdyje užpuolikas gali paprašyti failo „/img../test.txt“ ir ši užklausa bus po „/img“ kauke, nurodyta vietoje, po kurios likusi uodega „.. /test.txt“ bus pridėtas prie kelio iš slapyvardžių direktyvos „/var/images/“ ir galiausiai paprašys failo „/var/images/../test.txt“. Taigi, užpuolikai gali pasiekti bet kokius failus kataloge „/var“, o ne tik failus „/var/images/“, pavyzdžiui, norėdami atsisiųsti „nginx“ žurnalą, galite išsiųsti užklausą „/img../log/“. nginx/ access.log".

Konfigūracijose, kuriose slapyvardžio direktyvos reikšmė nesibaigia simboliu „/“ (pvz., „alias /var/images;“), užpuolikas negali pereiti į pirminį katalogą, bet gali paprašyti kito katalogo /var. kurio pavadinimas prasideda konfigūracijoje nurodyta ta pačia. Pavyzdžiui, paprašę „/img.old/test.txt“ galite pasiekti katalogą „var/images.old/test.txt“.

„GitHub“ saugyklų analizė parodė, kad nginx konfigūracijos klaidų, dėl kurių kilo problema, vis dar pasitaiko realiuose projektuose. Pavyzdžiui, problema buvo nustatyta Bitwarden slaptažodžių tvarkyklės fone ir gali būti naudojama norint pasiekti visus failus kataloge /etc/bitwarden (/attachments užklausos buvo pateiktos iš /etc/bitwarden/attachments/), įskaitant „vault“. . db", sertifikatas ir žurnalai, kuriems gauti pakako išsiųsti užklausas „/attachments../vault.db“, „/attachments../identity.pfx“, „/attachments../logs/api.log“ “ ir tt .P.

Nginx konfigūracijos pažeidžiamumas su neteisingais slapyvardžių blokavimo nustatymais
Nginx konfigūracijos pažeidžiamumas su neteisingais slapyvardžių blokavimo nustatymais

Metodas taip pat veikė su „Google HPC Toolkit“, kuris peradresavo /static užklausas į „../hpc-toolkit/community/front-end/website/static/“ katalogą. Norėdami gauti duomenų bazę su privačiu raktu ir kredencialais, užpuolikas gali siųsti užklausas „/static../.secret_key“ ir „/static../db.sqlite3“.

Nginx konfigūracijos pažeidžiamumas su neteisingais slapyvardžių blokavimo nustatymais


Šaltinis: opennet.ru

Добавить комментарий