FixVibe
Covered by FixVibemedium

Next.js next.config.js da xavfsizlik sarlavhasi noto‘g‘ri konfiguratsiya

Sarlavhalarni boshqarish uchun next.config.js dan foydalanadigan Next.js ilovalari, agar yoʻlni moslashtirish naqshlari aniq boʻlmasa, xavfsizlik boʻshliqlari paydo boʻlishi mumkin. Ushbu tadqiqot joker belgilar va regex noto'g'ri konfiguratsiyalari nozik marshrutlarda xavfsizlik sarlavhalarining yo'qolishiga qanday olib kelishi va konfiguratsiyani qanday kuchaytirishni o'rganadi.

CWE-1021CWE-200

Ta'sir

Yo'qolgan xavfsizlik sarlavhalaridan kliklash, saytlar o'rtasida skript yaratish (XSS) yoki [S2] server muhiti haqida ma'lumot to'plash uchun foydalanish mumkin. Content-Security-Policy (CSP) yoki X-Frame-Options kabi sarlavhalar marshrutlar bo'ylab mos kelmasligi bilan qo'llanilsa, tajovuzkorlar ZXCOKVXVIXVIXVIXVIXVIXZVCZVCZ sayt bo'ylab xavfsizlik boshqaruvlarini chetlab o'tish uchun maxsus himoyalanmagan yo'llarni nishonga olishlari mumkin.

Asosiy sabab

Next.js ishlab chiquvchilarga next.config.js da headers xususiyati [S2] yordamida javob sarlavhalarini sozlash imkonini beradi. Bu konfiguratsiya joker belgilar va [S2] muntazam ifodalarini qoʻllab-quvvatlaydigan yoʻl moslashuvidan foydalanadi. Xavfsizlik zaifliklari odatda quyidagilardan kelib chiqadi:

  • Toʻliq boʻlmagan yoʻl qamrovi: Joker belgilar (masalan, /path*) barcha moʻljallangan pastki marshrutlarni qamrab olmasligi mumkin va ichki joylashtirilgan sahifalarni [S2] xavfsizlik sarlavhalarisiz qoldirishi mumkin.
  • Ma'lumotni oshkor qilish: Odatiy bo'lib, Next.js sukut bo'yicha X-Powered-By sarlavhasini o'z ichiga olishi mumkin, bu poweredByHeader konfiguratsiyasi poweredByHeader ZXCVFIXVIBBETOKENFIXVIB konfiguratsiyasi orqali aniq o'chirib qo'yilmasa, ramka versiyasini ochib beradi.
  • CORS noto‘g‘ri konfiguratsiya: headers massividagi noto‘g‘ri aniqlangan Access-Control-Allow-Origin sarlavhalari headers maxfiy ma’lumotlariga o‘zaro ruxsatsiz kirishga ruxsat berishi mumkin Access-Control-Allow-Origin.

Beton tuzatishlar

  • Audit yoʻli namunalari: source barcha namunalari next.config.js’da zarur boʻlganda sarlavhalarni global miqyosda qoʻllash uchun tegishli joker belgilar (masalan, /:path*) ishlatilishiga ishonch hosil qiling.
  • Barmoq izini oʻchirish: X-Powered-By sarlavhasi [S2] yuborilishining oldini olish uchun poweredByHeader: false ni next.config.js da oʻrnating.
  • CORSni cheklash: headers konfiguratsiyasi [S2]da Access-Control-Allow-Origin ni joker belgilarga emas, balki aniq ishonchli domenlarga o‘rnating.

FixVibe buni qanday sinovdan o'tkazadi

FixVibe ilovani skanerlash va turli marshrutlarning xavfsizlik sarlavhalarini solishtirish orqali faol eshikli tekshiruvni amalga oshirishi mumkin. X-Powered-By sarlavhasi va Content-Security-Policy ning turli yoʻl chuqurliklaridagi izchilligini tahlil qilib, FixVibe next.config.js konfiguratsiya boʻshliqlarini aniqlay oladi.