Kerentanan konfigurasi Nginx sareng setélan blok alias lepat

Sababaraha server sareng nginx tetep rentan kana téknik Nginx Alias ​​​​Traversal, anu diusulkeun dina konperénsi Blackhat deui di 2018 sareng ngamungkinkeun aksés kana file sareng diréktori anu aya di luar diréktori akar anu ditetepkeun dina arahan "alias". Masalahna némbongan ngan dina konfigurasi kalayan diréktif "landian" disimpen di jero blok "lokasi", parameter anu henteu ditungtungan ku karakter "/", sedengkeun "alias" ditungtungan ku "/".

Kerentanan konfigurasi Nginx sareng setélan blok alias lepat

Intina masalahna nyaéta file pikeun blok sareng diréktif landian dirumuskeun ku ngalampirkeun jalur anu dipénta, saatos cocog sareng topéng tina diréktif lokasi sareng motong bagian tina jalur anu dijelaskeun dina topéng ieu. Pikeun conto konfigurasi anu rentan anu dipidangkeun di luhur, panyerang tiasa nyuhunkeun file "/img../test.txt" sareng pamundut ieu bakal cocog sareng topéng anu ditetepkeun dina lokasi "/img", saatosna sésa buntut "../ test.txt" bakal napel jalur ti landian diréktif "/var/images/" jeung salaku hasilna file "/var/images/../test.txt" bakal dipénta. Janten, panyerang tiasa ngaksés file naon waé dina diréktori "/ var", sareng sanés ngan ukur file dina "/var/images/", contona, pikeun ngaunduh log nginx, anjeun tiasa ngirim pamundut "/img../log/ nginx/ access.log".

Dina konfigurasi dimana nilai diréktif alias teu ditungtungan ku karakter "/" (contona, "alias /var/images;"), panyerang teu bisa ngarobah kana diréktori indungna, tapi bisa ménta diréktori sejen dina /var. nu ngaranna dimimitian ku dieusian dina konfigurasi nu. Contona, ku requesting "/img.old/test.txt" anjeun bisa ngakses diréktori "var/images.old/test.txt".

Analisis repositori dina GitHub nunjukkeun yén kasalahan dina konfigurasi nginx anu nyababkeun masalah masih aya dina proyék nyata. Salaku conto, ayana masalah diidentifikasi dina bagian tukang tina manajer sandi Bitwarden sareng tiasa dianggo pikeun ngaksés sadaya file dina diréktori /etc/bitwarden (paménta pikeun / attachment dikaluarkeun tina /etc/bitwarden/attachments/), kaasup database disimpen di dinya jeung kecap akses "kolong. db", sertipikat jeung log, nu ieu cukup pikeun ngirim requests "/attachments../vault.db", "/attachments../identity.pfx", "/attachments ../logs/api.log", jsb. .P.

Kerentanan konfigurasi Nginx sareng setélan blok alias lepat
Kerentanan konfigurasi Nginx sareng setélan blok alias lepat

Metoda ieu ogé dianggo sareng Google HPC Toolkit, dimana / requests statik dialihkeun ka "../hpc-toolkit/community/front-end/website/static/" diréktori. Pikeun ménta database kalawan konci swasta sarta Kapercayaan, hiji lawan bisa ngirim queries "/static../.secret_key" jeung "/static../db.sqlite3".

Kerentanan konfigurasi Nginx sareng setélan blok alias lepat


sumber: opennet.ru

Tambahkeun komentar