„Nginx“ serveriai vis dar yra pažeidžiami „Alias ​​​​Traversal“

Nginx slapyvardis „Traversal“.

Nginx Alias ​​​​​​Traversal vis dar yra svarbi daugelio projektų problema

Neseniai žinia tai atskleidė kai kurie nginx serveriai vis dar yra pažeidžiami Technika"Nginx slapyvardis „Traversal“, kuris buvo pasiūlytas 2018 m. Blackhat konferencijoje ir leidžia pasiekti failus ir katalogus, esančius už šakninio katalogo, nurodyto slapyvardžių direktyvoje.

Problemos esmė yra tai, kad failai blokams su slapyvardžių direktyva pateikiami pridedant prašomą kelią, suderinus jį su vietos direktyvos kauke ir nupjovus šioje kaukėje nurodytą kelio dalį.

Problema pasirodo tik konfigūracijose su „alias“ direktyva, kaip ir Nginx konfigūracijoje, yra direktyva, vadinama „vietove“, kuri gali aprašyti, kaip turi būti tvarkoma prieiga prie konkretaus URL, ir dažnai naudojama URL adresams priskirti serveryje esantiems failams.

Šablone, kuriame ši vieta naudojama kartu su slapyvardžiu, labai svarbu, kai abi sąlygos: „nedėkite pasvirojo brūkšnio URL nurodyto pagal vietą“ ir „nurodyto kelio pabaigoje nedėkite pasvirojo brūkšnio“ slapyvardis "yra patenkintas. slapyvardis "yra patenkintas. Teigiama, kad atsiranda pažeidžiamumas.

„BlackHat 2018“ konferencijoje Orange Tsai pristatė savo tyrimą apie URL analizatorių sulaužymą. Be kitų įspūdingų radinių, jis pademonstravo techniką, atrastą 2016 m. HCTF CTF iššūkyje, kurį sukūrė @iaklis.

Kad technika būtų taikoma, turi būti įvykdytos šios sąlygos:

Vietos direktyvos kelyje neturi būti pasvirojo brūkšnio;
Slapyvardžio direktyva turi būti vietos kontekste ir turi baigtis pasviruoju brūkšniu.

Aukščiau parodytame pažeidžiamos konfigūracijos pavyzdyje užpuolikas gali paprašyti failo „/img../test.txt“ ir ši užklausa atitiks kaukę, nurodytą vietoje „/img“, po kurios eilė Likę „. ./test.txt“ bus pridėtas prie slapyvardžio direktyvos kelio „/var/images/“ ir dėl to bus paprašyta failo „/var/images/../test.txt“.

Todėl užpuolikai gali pasiekti bet kurį failą 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“.

Analizė iš „GitHub“ saugyklų parodė, kad nginx konfigūracijos klaidos, dėl kurių kilo problema, vis dar yra realiuose projektuose.

Pavyzdžiui, „Bitwarden“ slaptažodžių tvarkyklės foninėje programoje buvo rasta problema, kurią galima naudoti norint pasiekti visus failus /etc/bitwarden kataloge (užklausos dėl /attachments buvo pateiktos iš /etc/bitwarden/ attachments/), įskaitant ten saugomą duomenų bazę. su slaptažodžiais „vault.db“, sertifikatu ir žurnalais, kuriems užteko siųsti užklausas „vault.db“, „identity.pfx“, „api.log“ ir kt.

Minima, kad šio pažeidžiamumo sunkumas gali labai svyruoti priklausomai nuo projekto, nuo nereikšmingo poveikio iki kritinio. Jo poveikio mastą visų pirma lemia tai, ar atskleistame kataloge yra neskelbtinų duomenų, kurie gali palengvinti tolesnes atakas arba paskatinti privačios informacijos atskleidimą.

Kaip atspirties tašką ieškodami šio pažeidžiamumo, pasirinkome ištirti populiarias „GitHub“ saugyklas, kuriose buvo rodoma ši problema. Nustatyti šį specifinį pažeidžiamumą aplinkoje su prieiga prie šaltinio kodo tampa daug lengviau, daugiausia dėl dviejų pagrindinių veiksnių:

Aptikimas – naudojant paprastus kodo analizės įrankius, pvz., reguliariųjų posakių paieškas, galime efektyviai nustatyti potencialiai pažeidžiamus Nginx konfigūracijos failus šiuose projektuose.
Išnaudojimas: žinodami tikslų tikslinį katalogą, kuriam priskirtas slapyvardis, galime nustatyti vietinį egzempliorių, ištirti slapyvardžio katalogus naudodami vietinį apvalkalą ir nustatyti, kuriuos failus galima pasiekti per pažeidžiamumą.

Verta paminėti, kad metodas taip pat veikė su Google HPC Toolkit, kur užklausos buvo nukreiptos į dominantį katalogą, kad gautų duomenų bazę su privačiu raktu ir kredencialais, užpuolikas galėjo siųsti "secret_key" ir "db.sqlite3" užklausas.

Galiausiai, jei norite sužinoti daugiau apie tai, galite sužinoti daugiau Šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.