nginx உடன் சில சேவையகங்கள் Nginx அலியாஸ் டிராவர்சல் நுட்பத்தால் பாதிக்கப்படக்கூடியவை, இது 2018 இல் பிளாக்ஹாட் மாநாட்டில் முன்மொழியப்பட்டது மற்றும் "மாறுபெயர்" கட்டளையில் குறிப்பிடப்பட்டுள்ள ரூட் கோப்பகத்திற்கு வெளியே அமைந்துள்ள கோப்புகள் மற்றும் கோப்பகங்களை அணுக அனுமதிக்கிறது. "இருப்பிடம்" தொகுதிக்குள் "அலியாஸ்" கட்டளையுடன் உள்ளமைவுகளில் மட்டுமே சிக்கல் தோன்றும், அதன் அளவுரு "/" எழுத்துடன் முடிவடையாது, அதே நேரத்தில் "மாற்றுப்பெயர்" "/" உடன் முடிவடைகிறது.
சிக்கலின் சாராம்சம் என்னவென்றால், மாற்று கட்டளையுடன் கூடிய தொகுதிகளுக்கான கோப்புகள் கோரப்பட்ட பாதையை இணைப்பதன் மூலம் வழங்கப்படுகின்றன, அதை இருப்பிட கட்டளையிலிருந்து முகமூடியுடன் பொருத்தி, இந்த முகமூடியில் குறிப்பிடப்பட்டுள்ள பாதையின் பகுதியை வெட்டிய பிறகு. மேலே காட்டப்பட்டுள்ள பாதிக்கப்படக்கூடிய உள்ளமைவின் உதாரணத்திற்கு, தாக்குபவர் "/img../test.txt" கோப்பைக் கோரலாம், மேலும் இந்த கோரிக்கையானது "/img" என்ற இடத்தில் குறிப்பிடப்பட்டுள்ள முகமூடியுடன் பொருந்தும், அதன் பிறகு மீதமுள்ள வால் "../test.txt" என்ற மாற்றுப்பெயர் கட்டளையிலிருந்து பாதையில் இணைக்கப்படும் மற்றும் "/var/images/" கோரப்பட்டது. எனவே, தாக்குபவர்கள் "/var" கோப்பகத்தில் உள்ள எந்த கோப்புகளையும் அணுகலாம், மேலும் "/var/images/" இல் உள்ள கோப்புகளை மட்டும் அணுக முடியாது, எடுத்துக்காட்டாக, nginx பதிவைப் பதிவிறக்க, நீங்கள் "/img../log/nginx/access.log" கோரிக்கையை அனுப்பலாம்.
மாற்றுப்பெயர் கட்டளையின் மதிப்பு "/" எழுத்துடன் முடிவடையாத உள்ளமைவுகளில் (உதாரணமாக, "alias /var/images;"), தாக்குபவர் மூலக் கோப்பகத்திற்கு மாற்ற முடியாது, ஆனால் /var இல் உள்ள மற்றொரு கோப்பகத்தைக் கோரலாம், அதன் பெயர் உள்ளமைவில் குறிப்பிடப்பட்டுள்ளதைக் கொண்டு தொடங்கும். எடுத்துக்காட்டாக, "/img.old/test.txt"ஐக் கோருவதன் மூலம் "var/images.old/test.txt" கோப்பகத்தை அணுகலாம்.
GitHub இல் உள்ள களஞ்சியங்களின் பகுப்பாய்வு, சிக்கலுக்கு வழிவகுக்கும் nginx உள்ளமைவில் உள்ள பிழைகள் உண்மையான திட்டங்களில் இன்னும் காணப்படுகின்றன என்பதைக் காட்டுகிறது. எடுத்துக்காட்டாக, பிட்வார்டன் கடவுச்சொல் நிர்வாகியின் பின்தளத்தில் சிக்கல் இருப்பது கண்டறியப்பட்டு, /etc/bitwarden கோப்பகத்தில் உள்ள அனைத்து கோப்புகளையும் அணுக பயன்படுத்தலாம் (/etc/bitwarden/attachments/ இலிருந்து / இணைப்புகளுக்கான கோரிக்கைகள் வழங்கப்பட்டன), கடவுச்சொற்கள் “vault.db” உடன் சேமிக்கப்பட்ட தரவுத்தளமும் உட்பட, சான்றிதழ் மற்றும் பதிவுகளை அனுப்பவும் chments../identity.pfx”, “/atta chments../logs/api.log" போன்றவை.
இந்த முறை Google HPC டூல்கிட்டிலும் வேலை செய்தது, அங்கு /நிலையான கோரிக்கைகள் "../hpc-toolkit/community/front-end/website/static/" கோப்பகத்திற்கு திருப்பி விடப்பட்டன. தனிப்பட்ட விசை மற்றும் சான்றுகளுடன் தரவுத்தளத்தைப் பெற, தாக்குபவர் "/static../.secret_key" மற்றும் "/static../db.sqlite3" வினவல்களை அனுப்பலாம்.
ஆதாரம்: opennet.ru