ڪجهه نينڪس سرورز Nginx الياس ٽرورسل ٽيڪنڪ لاءِ ڪمزور رهندا آهن، جيڪا 2018 ۾ بليڪ هٽ ڪانفرنس ۾ تجويز ڪئي وئي هئي ۽ "عرف" هدايت ۾ بيان ڪيل روٽ ڊاريڪٽري کان ٻاهر واقع فائلن ۽ ڊائريڪٽرن تائين رسائي جي اجازت ڏئي ٿي. مسئلو صرف ترتيبن ۾ ظاهر ٿئي ٿو "عرف" هدايت سان "مقام" بلاڪ جي اندر رکيل آهي جنهن جو پيٽرولر "/" ڪردار سان ختم نٿو ٿئي، جڏهن ته "عرف" هڪ "/" سان ختم ٿئي ٿو.
مسئلي جو خلاصو اهو آهي ته عرف هدايت سان بلاڪ لاءِ فائلون پيش ڪيون وينديون آهن درخواست ڪيل رستي سان ڳنڍڻ کان پوءِ ، ان کي هنڌ جي هدايتن کان ماسڪ سان موازنہ ڪرڻ ۽ هن ماسڪ ۾ بيان ڪيل رستي جو حصو ڪٽڻ کان پوءِ. مٿي ڏيکاريل هڪ خطرناڪ ترتيب جي مثال لاءِ، هڪ حملو ڪندڙ فائل جي درخواست ڪري سگهي ٿو “/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 "، وغيره .P.
اهو طريقو Google HPC Toolkit سان پڻ ڪم ڪيو، جنهن /static درخواستن کي "../hpc-toolkit/community/front-end/website/static/" ڊاريڪٽري ڏانهن منتقل ڪيو. هڪ خانگي چاٻي ۽ سندن سان گڏ ڊيٽابيس حاصل ڪرڻ لاءِ، هڪ حملو ڪندڙ “/static../.secret_key” ۽ “/static../db.sqlite3” درخواستون موڪلي سگهي ٿو.
جو ذريعو: opennet.ru