Nginx konfigurációs biztonsági rés helytelen álnévblokk-beállításokkal

Egyes Nginx-kiszolgálók továbbra is sebezhetőek az Nginx Alias ​​​​Traversal technikával szemben, amelyet a Blackhat konferencián 2018-ban javasoltak, és amely lehetővé teszi az „alias” irányelvben meghatározott gyökérkönyvtáron kívüli fájlokhoz és könyvtárakhoz való hozzáférést. A probléma csak azokban a konfigurációkban jelentkezik, ahol az "alias" direktíva olyan "location" blokkon belül van elhelyezve, amelynek paramétere nem végződik "/" karakterrel, míg az "alias" "/" karakterrel végződik.

Nginx konfigurációs biztonsági rés helytelen álnévblokk-beállításokkal

A probléma lényege, hogy az alias direktívával rendelkező blokkok fájljait a kért elérési út csatolásával szolgáljuk ki, miután összehasonlítjuk azt a helydirektívából származó maszkkal, és kivágjuk az útvonal ezen maszkban megadott részét. A fent bemutatott sebezhető konfiguráció példájában a támadó kérheti az „/img../test.txt” fájlt, és ez a kérelem a helyen megadott „/img” maszk alá esik, majd a fennmaradó „.. /test.txt” csatolva lesz a „/var/images/” alias direktívából származó elérési úthoz, és végül a „/var/images/../test.txt” fájlt kéri. Így a támadók a „/var” könyvtárban található bármely fájlhoz hozzáférhetnek, nem csak a „/var/images/” fájlokhoz, például az nginx napló letöltéséhez elküldheti az „/img../log/” kérést. nginx/ access.log".

Azokban a konfigurációkban, amelyekben az alias direktíva értéke nem végződik "/" karakterrel (például "alias /var/images;"), a támadó nem válthat a szülőkönyvtárra, de kérhet egy másik könyvtárat a /var könyvtárban. amelynek neve a konfigurációban megadottal kezdődik. Például az "/img.old/test.txt" lekérésével elérheti a "var/images.old/test.txt" könyvtárat.

A GitHubon található adattárak elemzése azt mutatta, hogy az nginx konfigurációjának hibái, amelyek a problémához vezetnek, továbbra is előfordulnak valós projektekben. Például a problémát a Bitwarden jelszókezelő hátterében azonosították, és az /etc/bitwarden könyvtárban található összes fájl eléréséhez használható (/attachments kéréseket az /etc/bitwarden/attachments/ címről adtak ki), beleértve a "vault" . db", tanúsítvány és naplók, amelyek megszerzéséhez elegendő volt a "/attachments../vault.db", "/attachments../identity.pfx", "/attachments../logs/api.log" kérések elküldése " stb. .P.

Nginx konfigurációs biztonsági rés helytelen álnévblokk-beállításokkal
Nginx konfigurációs biztonsági rés helytelen álnévblokk-beállításokkal

A módszer működött a Google HPC Toolkittel is, amely a /static kéréseket a "../hpc-toolkit/community/front-end/website/static/" könyvtárba irányította át. A privát kulccsal és hitelesítő adatokkal rendelkező adatbázis megszerzéséhez a támadó „/static../.secret_key” és „/static../db.sqlite3” kéréseket küldhet.

Nginx konfigurációs biztonsági rés helytelen álnévblokk-beállításokkal


Forrás: opennet.ru

Hozzászólás