Yanlış ləqəb blok parametrləri ilə Nginx konfiqurasiya zəifliyi

Nginx ilə bəzi serverlər 2018-ci ildə Blackhat konfransında təklif edilən və "ləqəb" direktivində göstərilən kök kataloqdan kənarda yerləşən fayl və qovluqlara giriş imkanı verən Nginx Alias ​​​​Traversal texnikasına qarşı həssas olaraq qalır. Problem yalnız "yer" blokunun daxilində yerləşdirilmiş "ləqəb" direktivi olan konfiqurasiyalarda görünür, onun parametri "/" simvolu ilə bitmir, "ləqəb" isə "/" ilə bitir.

Yanlış ləqəb blok parametrləri ilə Nginx konfiqurasiya zəifliyi

Problemin mahiyyəti ondan ibarətdir ki, ləqəb direktivi olan bloklar üçün fayllar tələb olunan yolu əlavə etməklə, onu yer direktivindən maska ​​ilə uyğunlaşdırmaqla və bu maskada göstərilən yolun hissəsini kəsdikdən sonra verilir. Yuxarıda göstərilən həssas konfiqurasiya nümunəsi üçün təcavüzkar "/img../test.txt" faylını tələb edə bilər və bu sorğu "/img" yerində göstərilən maska ​​ilə uyğunlaşacaq, bundan sonra qalan "../" test.txt" "/var/images/" ləqəb direktivindən yola əlavə olunacaq və nəticədə "/var/images/../test.txt" faylı tələb olunacaq. Beləliklə, təcavüzkarlar yalnız "/var/images/"dakı fayllara deyil, "/var" kataloqundakı istənilən fayllara daxil ola bilər, məsələn, nginx jurnalını yükləmək üçün "/img../log/" sorğusunu göndərə bilərsiniz. nginx/ access.log".

Təxəllüs direktivinin dəyərinin "/" simvolu ilə bitmədiyi konfiqurasiyalarda (məsələn, "ləqəb /var/images;") təcavüzkar əsas kataloqa keçə bilməz, lakin /var içərisində başqa kataloq tələb edə bilər. adı konfiqurasiyada göstərilən ilə başlayan. Məsələn, "/img.old/test.txt" sorğusu ilə siz "var/images.old/test.txt" qovluğuna daxil ola bilərsiniz.

GitHub-da depoların təhlili göstərdi ki, nginx konfiqurasiyasında problemə səbəb olan xətalara hələ də real layihələrdə rast gəlinir. Məsələn, Bitwarden parol menecerinin arxa hissəsində problemin olması aşkar edildi və /etc/bitwarden qovluğundakı bütün fayllara daxil olmaq üçün istifadə edilə bilər (/atchments üçün sorğular /etc/bitwarden/attachments/ saytından verilmişdir), "/attachments../vault.db", "/attachments../identity.pfx", "/attachments" sorğularını göndərmək kifayət olan "vault. db", sertifikat və jurnallarla orada saxlanılan verilənlər bazası daxil olmaqla. ../logs/api.log" və s. .P.

Yanlış ləqəb blok parametrləri ilə Nginx konfiqurasiya zəifliyi
Yanlış ləqəb blok parametrləri ilə Nginx konfiqurasiya zəifliyi

Metod, həmçinin /statik sorğuların "../hpc-toolkit/community/front-end/website/static/" qovluğuna yönləndirildiyi Google HPC Toolbar ilə də işləyirdi. Şəxsi açar və etimadnamələri olan verilənlər bazası əldə etmək üçün təcavüzkar "/static../.secret_key" və "/static../db.sqlite3" sorğularını göndərə bilər.

Yanlış ləqəb blok parametrləri ilə Nginx konfiqurasiya zəifliyi


Mənbə: opennet.ru

Добавить комментарий