Nginx stillingar varnarleysi með röngum alias blokk stillingum

Sumir netþjónar með nginx eru enn viðkvæmir fyrir Nginx Alias ​​​​Traversal tækninni, sem var lögð til á Blackhat ráðstefnunni árið 2018 og leyfir aðgang að skrám og möppum sem staðsettar eru utan rótarskrárinnar sem tilgreind er í „alias“ tilskipuninni. Vandamálið birtist aðeins í stillingum með "alias" tilskipun sem er sett inni í "staðsetning" blokkinni, færibreytan endar ekki á "/" staf, en "alias" endar á "/".

Nginx stillingar varnarleysi með röngum alias blokk stillingum

Kjarni vandans er að skrár fyrir blokkir með alias tilskipuninni eru gefnar með því að hengja umbeðna slóð, eftir að hafa passað hana við grímuna úr staðsetningartilskipuninni og klippt út þann hluta slóðarinnar sem tilgreindur er í þessari grímu. Sem dæmi um viðkvæma uppsetningu sem sýnd er hér að ofan, getur árásarmaður beðið um skrána "/img../test.txt" og þessi beiðni mun passa við grímuna sem tilgreind er á staðsetningu "/img", eftir það verður skottið sem eftir er "../test.txt" fest við slóðina frá alias tilskipuninni "/var/images/" og þar af leiðandi skráin "/var/tested.txt" og þar af leiðandi skráin "/var/tested.txt". Þannig geta árásarmenn nálgast hvaða skrár sem er í "/var" möppunni, en ekki bara skrár í "/var/images/", til dæmis, til að hlaða niður nginx log, þú getur sent beiðnina "/img../log/nginx/access.log".

Í stillingum þar sem gildi alias tilskipunarinnar endar ekki á „/“ staf (til dæmis „alias /var/images;“), getur árásarmaðurinn ekki breytt í móðurskrána, heldur getur hann beðið um aðra möppu í /var sem byrjar á því sem tilgreint er í uppsetningunni. Til dæmis, með því að biðja um "/img.old/test.txt" geturðu fengið aðgang að möppunni "var/images.old/test.txt".

Greining á geymslum á GitHub sýndi að villur í nginx stillingum sem leiða til vandans finnast enn í raunverulegum verkefnum. Til dæmis fannst tilvist vandamáls í bakenda Bitwarden lykilorðastjórans og gæti verið notaður til að fá aðgang að öllum skrám í /etc/bitwarden möppunni (beiðnir um /attachments voru gefnar út frá /etc/bitwarden/attachments/), þar á meðal gagnagrunninum sem var geymdur þar með lykilorðunum “vault.db”, vottorð og logs, sem það var nóg til að senda “/attachd.b.ident./beiðnir fyrir”,/attachd.b./ ity.pfx”, “/atta chments../logs/api.log” osfrv.

Nginx stillingar varnarleysi með röngum alias blokk stillingum
Nginx stillingar varnarleysi með röngum alias blokk stillingum

Aðferðin virkaði einnig með Google HPC Toolkit, þar sem /static beiðnir voru sendar í "../hpc-toolkit/community/front-end/website/static/" möppuna. Til að fá gagnagrunn með einkalykli og skilríkjum gæti árásarmaður sent fyrirspurnir "/static../.secret_key" og "/static../db.sqlite3".

Nginx stillingar varnarleysi með röngum alias blokk stillingum


Heimild: opennet.ru

Bæta við athugasemd