Zehfbûna veavakirina Nginx bi mîhengên bloka navên nerast

Hin pêşkêşkerên Nginx ji teknîka Nginx Alias ​​​​Traversal, ya ku di sala 2018-an de di konferansa Blackhat-ê de hate pêşniyar kirin û destûr dide gihîştina pel û peldankên ku li derveyî pelrêça root-ê ya ku di rêwerznameya "navnas" de hatî destnîşan kirin de, xeternak dimînin. Pirsgirêk tenê di veavakirinan de bi rêwerzek "navnas" ku di hundurê bloka "cih" de hatî danîn de xuya dike ku parametreya wê bi karaktera "/" bi dawî nabe, dema ku "navnas" bi "/" diqede.

Zehfbûna veavakirina Nginx bi mîhengên bloka navên nerast

Esasê pirsgirêkê ev e ku pelên ji bo blokên bi rêbernameya navnavê bi girêdana riya daxwazkirî, piştî berhevkirina wê bi maskeya ji rêwerza cîhê re û qutkirina beşa riya ku di vê maskê de hatî destnîşan kirin, têne xizmet kirin. Mînaka veavakirinek xedar ku li jor hatî xuyang kirin, êrîşkar dikare pelê "/img../test.txt" bixwaze û ev daxwaz dê bikeve binê maskeya "/img" ya ku li cîhê hatî destnîşan kirin, paşê dûvika mayî ".. /test.txt" dê bi riya rêwerza navnavê "/var/images/" ve were girêdan û dê di dawiyê de pelê "/var/images/../test.txt" bixwaze. Ji ber vê yekê, êrîşkar dikarin bigihîjin her pelên peldanka "/var", û ne tenê pelên di "/var/images/" de, ji bo nimûne, ji bo dakêşana têketina nginx, hûn dikarin daxwaza "/img../log/ bişînin" nginx/ access.log".

Di veavakirinên ku tê de nirxa dîrektîfa nasnav bi karaktera "/" naqede (mînak, "navnav /var/images;"), êrîşkar nikare pelrêça dêûbav biguhere, lê dikare pelrêçek din li /var bixwaze. ku navê wî bi ya ku di veavakirinê de hatî destnîşan kirin dest pê dike. Mînakî, bi daxwaza "/img.old/test.txt" hûn dikarin xwe bigihînin pelrêça "var/images.old/test.txt".

Analîzek depoyên li ser GitHub destnîşan kir ku xeletiyên di veavakirina nginx de ku dibin sedema pirsgirêkê hîn jî di projeyên rastîn de çêdibin. Mînakî, pirsgirêk di paşiya gerînendeyê şîfreya Bitwarden de hate nas kirin û dikare were bikar anîn da ku bigihîje hemî pelên di pelrêça /etc/bitwarden (/daxwazên pêvekan ji /etc/bitwarden/attachments/ hatine şandin), di nav de "vault" . db", sertîfîka û têketin, ji bo bidestxistina wan bes bû ku daxwazên "/attachments../vault.db", "/attachments../identity.pfx", "/attachments../logs/api.log ", hwd. .P.

Zehfbûna veavakirina Nginx bi mîhengên bloka navên nerast
Zehfbûna veavakirina Nginx bi mîhengên bloka navên nerast

Rêbaz bi Google HPC Toolkit re jî xebitî, ku daxwazên /statîk ber bi pelrêça "../hpc-toolkit/community/front-end/website/static/" veguherand. Ji bo bidestxistina databasek bi mifteyek taybet û pêbaweriyê, êrîşkarek dikare daxwazên "/static../.secret_key" û "/static../db.sqlite3" bişîne.

Zehfbûna veavakirina Nginx bi mîhengên bloka navên nerast


Source: opennet.ru

Add a comment