Athari za usanidi wa Nginx na mipangilio isiyo sahihi ya kuzuia lakabu

Baadhi ya seva za Nginx bado ziko hatarini kwa mbinu ya Nginx Alias ​​​​Traversal, ambayo ilipendekezwa kwenye mkutano wa Blackhat mnamo 2018 na inaruhusu ufikiaji wa faili na saraka zilizo nje ya saraka ya mizizi iliyoainishwa katika maagizo ya "lakabu". Shida inaonekana tu katika usanidi na maagizo ya "lakabu" iliyowekwa ndani ya kizuizi cha "mahali" ambacho kigezo chake haishii na herufi "/", wakati "lakabu" inaisha na "/".

Athari za usanidi wa Nginx na mipangilio isiyo sahihi ya kuzuia lakabu

Kiini cha shida ni kwamba faili za vizuizi vilivyo na maagizo ya pak huhudumiwa kwa kushikamana na njia iliyoombwa, baada ya kulinganisha na mask kutoka kwa maagizo ya eneo na kukata sehemu ya njia iliyoainishwa kwenye mask hii. Kwa mfano wa usanidi unaoweza kuathiriwa ulioonyeshwa hapo juu, mvamizi anaweza kuomba faili "/img../test.txt" na ombi hili litakuwa chini ya kinyago cha "/img" kilichobainishwa mahali, kisha mkia uliosalia ".. /test.txt" itaambatishwa kwenye njia kutoka kwa maagizo ya jina lak "/var/images/" na hatimaye itaomba faili "/var/images/../test.txt". Kwa hivyo, washambuliaji wanaweza kufikia faili zozote kwenye saraka ya "/ var", na sio faili tu kwenye "/var/images/", kwa mfano, kupakua logi ya nginx, unaweza kutuma ombi "/img../log/ nginx/ access.log".

Katika usanidi ambao thamani ya agizo la paka haimalizi na herufi "/" (kwa mfano, "pak /var/images;"), mshambuliaji hawezi kubadilika hadi saraka kuu, lakini anaweza kuomba saraka nyingine katika /var. ambaye jina lake linaanza na lile lile lililobainishwa katika usanidi. Kwa mfano, kwa kuomba "/img.old/test.txt" unaweza kufikia saraka "var/images.old/test.txt".

Mchanganuo wa hazina kwenye GitHub ulionyesha kuwa makosa katika usanidi wa nginx ambayo husababisha shida bado yanatokea katika miradi halisi. Kwa mfano, tatizo lilitambuliwa katika sehemu ya nyuma ya kidhibiti cha nenosiri cha Bitwarden na inaweza kutumika kufikia faili zote kwenye saraka ya /etc/bitwarden (/maombi ya viambatisho yalitolewa kutoka /etc/bitwarden/attachments/), pamoja na "vault". .db", cheti na kumbukumbu, ili kupata ambayo ilitosha kutuma maombi "/attachments../vault.db", "/attachments../identity.pfx", "/attachments../logs/api.log ", nk. .P.

Athari za usanidi wa Nginx na mipangilio isiyo sahihi ya kuzuia lakabu
Athari za usanidi wa Nginx na mipangilio isiyo sahihi ya kuzuia lakabu

Mbinu hiyo pia ilifanya kazi na Google HPC Toolkit, ambayo ilielekeza upya maombi /tuli kwenye saraka ya "../hpc-toolkit/community/front-end/website/static/". Ili kupata hifadhidata iliyo na ufunguo wa faragha na vitambulisho, mshambulizi anaweza kutuma maombi "/static../.secret_key" na "/static../db.sqlite3".

Athari za usanidi wa Nginx na mipangilio isiyo sahihi ya kuzuia lakabu


Chanzo: opennet.ru

Kuongeza maoni