осебпазирии конфигуратсияи Nginx бо танзимоти блоки нодурусти тахаллус

Баъзе серверҳо бо nginx нисбат ба техникаи Nginx Alias ​​​​Traversal осебпазир боқӣ мемонанд, ки он дар конфронси Blackhat дар соли 2018 пешниҳод шуда буд ва дастрасӣ ба файлҳо ва директорияҳоеро, ки берун аз феҳристи решавӣ дар дастури "тахаллус" нишон дода шудааст, иҷозат медиҳад. Мушкилот танҳо дар конфигуратсияҳое пайдо мешавад, ки директиваи "тахаллус" дар дохили блоки "ҷойгир" ҷойгир шудааст, ки параметри он бо аломати "/" хотима намеёбад, дар ҳоле ки "тахаллус" бо "/" ба охир мерасад.

осебпазирии конфигуратсияи Nginx бо танзимоти блоки нодурусти тахаллус

Моҳияти масъала дар он аст, ки файлҳо барои блокҳо бо дастури тахаллус бо роҳи замима кардани роҳи дархостшуда, пас аз мувофиқати он бо ниқоб аз дастури ҷойгиршавӣ ва буридани қисми роҳи дар ин ниқоб нишондодашуда дода мешаванд. Барои мисоли конфигуратсияи осебпазир, ки дар боло нишон дода шудааст, ҳамлакунанда метавонад файли "/img../test.txt" -ро дархост кунад ва ин дархост бо ниқоби дар макони "/img" нишондодашуда мувофиқат мекунад, ки пас аз он думи боқимонда "../" аст. test.txt" ба роҳ аз дастури тахаллуси "/var/images/" замима карда мешавад ва дар натиҷа файли "/var/images/../test.txt" дархост карда мешавад. Ҳамин тариқ, ҳамлагарон метавонанд ба ҳама гуна файлҳои феҳристи "/var" дастрасӣ пайдо кунанд, на танҳо файлҳои "/var/images/", масалан, барои зеркашии сабти nginx, шумо метавонед дархости "/img../log/-ро фиристед. nginx/ access.log".

Дар конфигуратсияҳое, ки арзиши дастури тахаллус бо аломати "/" хотима намеёбад (масалан, "тахаллуси /var/images;"), ҳамлакунанда наметавонад ба директорияи волидайн иваз кунад, аммо метавонад директорияи дигарро дар /var дархост кунад ки номи он бо нишондодашуда дар конфигуратсия оғоз мешавад. Масалан, бо дархости "/img.old/test.txt" шумо метавонед ба директорияи "var/images.old/test.txt" дастрасӣ пайдо кунед.

Таҳлили анборҳо дар GitHub нишон дод, ки хатогиҳо дар конфигуратсияи nginx, ки боиси мушкилот мешаванд, ҳанӯз дар лоиҳаҳои воқеӣ мавҷуданд. Масалан, мавҷудияти мушкилот дар пушти менеҷери пароли Bitwarden муайян карда шуд ва онро метавон барои дастрасӣ ба ҳамаи файлҳои феҳристи /etc/bitwarden истифода бурд (дархостҳо барои /замимаҳо аз /etc/bitwarden/attachments/ дода шудаанд), аз ҷумла пойгоҳи додаҳо дар он ҷо бо паролҳои "vault.db", сертификат ва гузоришҳо нигоҳ дошта мешаванд, ки барои онҳо фиристодани дархостҳои "/attachments../vault.db", "/attachments../identity.pfx", "/attachments кифоя буд. ../logs/api.log" ва ғайра. .П.

осебпазирии конфигуратсияи Nginx бо танзимоти блоки нодурусти тахаллус
осебпазирии конфигуратсияи Nginx бо танзимоти блоки нодурусти тахаллус

Ин усул инчунин бо Toolkit Google HPC кор мекард, ки дар он /дархостҳои статикӣ ба директорияи "../hpc-toolkit/community/front-end/website/static/" равона карда шуданд. Барои ба даст овардани пойгоҳи додаҳо бо калиди хусусӣ ва маълумоти эътимоднок, ҳамлакунанда метавонад дархостҳои "/static../.secret_key" ва "/static../db.sqlite3" фиристад.

осебпазирии конфигуратсияи Nginx бо танзимоти блоки нодурусти тахаллус


Манбаъ: opennet.ru

Илова Эзоҳ