Kerentanan konfigurasi Nginx kanthi setelan blok alias sing salah

Sawetara server karo nginx tetep rentan marang teknik Nginx Alias ​​​​Traversal, sing diusulake ing konferensi Blackhat ing taun 2018 lan ngidini akses menyang file lan direktori sing ana ing njaba direktori root sing ditemtokake ing arahan "alias". Masalah kasebut mung katon ing konfigurasi kanthi arahan "alias" sing diselehake ing blok "lokasi", parameter kasebut ora diakhiri karo karakter "/", dene "alias" diakhiri karo "/".

Kerentanan konfigurasi Nginx kanthi setelan blok alias sing salah

Inti masalah yaiku file kanggo pamblokiran kanthi arahan alias diwenehi kanthi nempelake path sing dijaluk, sawise cocog karo topeng saka arahan lokasi lan nglereni bagean dalan sing ditemtokake ing topeng iki. Kanggo conto konfigurasi sing rawan sing dituduhake ing ndhuwur, panyerang bisa njaluk file "/img../test.txt" lan panjaluk iki bakal cocog karo topeng sing ditemtokake ing lokasi "/img", sawise buntut sing isih ana "../ test.txt" bakal ditempelake ing path saka alias arahan "/var/images/" lan minangka asil berkas "/var/images/../test.txt" bakal dijaluk. Mangkono, panyerang bisa ngakses file apa wae ing direktori "/ var", lan ora mung file ing "/var/images/", contone, kanggo ngundhuh log nginx, sampeyan bisa ngirim panjalukan "/img../log/ nginx/access.log".

Ing konfigurasi sing nilai arahan alias ora diakhiri karo karakter "/" (contone, "alias /var/images;"), penyerang ora bisa ngganti menyang direktori induk, nanging bisa njaluk direktori liyane ing /var jeneng kang diwiwiti karo kasebut ing konfigurasi. Contone, kanthi njaluk "/img.old/test.txt" sampeyan bisa ngakses direktori "var/images.old/test.txt".

Analisis repositori ing GitHub nuduhake manawa kesalahan ing konfigurasi nginx sing nyebabake masalah kasebut isih ditemokake ing proyek nyata. Contone, ana masalah diidentifikasi ing mburi pangatur sandi Bitwarden lan bisa digunakake kanggo ngakses kabeh file ing direktori / etc / bitwarden (panjalukan kanggo / lampiran ditanggepi saka / etc / bitwarden / lampiran /), kalebu database sing disimpen ana karo sandhi "vault. db", sertifikat lan log, sing cukup kanggo ngirim panjalukan "/attachments../vault.db", "/attachments../identity.pfx", "/attachments ../logs/api.log", etc. .P.

Kerentanan konfigurasi Nginx kanthi setelan blok alias sing salah
Kerentanan konfigurasi Nginx kanthi setelan blok alias sing salah

Cara kasebut uga bisa digunakake karo Google HPC Toolkit, ing ngendi / panjalukan statis dialihake menyang direktori "../hpc-toolkit/community/front-end/website/static/". Kanggo entuk basis data kanthi kunci pribadi lan kredensial, panyerang bisa ngirim pitakon "/static../.secret_key" lan "/static../db.sqlite3".

Kerentanan konfigurasi Nginx kanthi setelan blok alias sing salah


Source: opennet.ru

Add a comment