Vplyv
Chýbajúce hlavičky zabezpečenia možno zneužiť na vykonávanie clickjackingu, skriptovania medzi stránkami (XSS) alebo na zhromažďovanie informácií o prostredí servera [S2]. Keď sú hlavičky ako Content-Security-Policy (CSP) alebo X-Frame-Options aplikované naprieč cestami nekonzistentne, útočníci sa môžu zamerať na špecifické nechránené cesty, aby obišli bezpečnostné kontroly na celom webe ZXCVFIXXVIBETOKEN3ZCVFIXVIBETOKEN3ZXCV.
Hlavná príčina
Next.js umožňuje vývojárom konfigurovať hlavičky odpovedí v next.config.js pomocou vlastnosti headers [S2]. Táto konfigurácia používa zhodu cesty, ktorá podporuje zástupné znaky a regulárne výrazy [S2]. Bezpečnostné chyby zvyčajne vznikajú z:
- Neúplné pokrytie cesty: Vzory zástupných znakov (napr.
/path*) nemusia pokrývať všetky zamýšľané podtrasy, takže vnorené stránky zostávajú bez bezpečnostných hlavičiek [S2]. - Zverejnenie informácií: V predvolenom nastavení môže Next.js obsahovať hlavičku
X-Powered-By, ktorá odhaľuje verziu rámca, pokiaľ nie je explicitne zakázaná prostredníctvom konfiguráciepoweredByHeader[S2]. - Chybná konfigurácia CORS: Nesprávne definované hlavičky
Access-Control-Allow-Originv poliheadersmôžu umožniť neoprávnený krížový prístup k citlivým údajom ZXCVFIXVIBETOKEN2ZXC.
Opravy betónu
- Vzory cesty auditu: Zabezpečte, aby všetky vzory
sourcevnext.config.jspoužívali vhodné zástupné znaky (napr./:path*) na globálne použitie hlavičiek, ak je to potrebné ZXCVFIXXVIBETOKEN3. - Zakázať odtlačky prstov: Nastavte
poweredByHeader: falsevnext.config.js, aby ste zabránili odoslaniu hlavičkyX-Powered-By[S2]. - Obmedziť CORS: Nastavte
Access-Control-Allow-Originna konkrétne dôveryhodné domény a nie na zástupné znaky v konfiguráciiheaders[S2].
Ako to testuje FixVibe
FixVibe by mohol vykonať aktívnu hradlovú sondu prehľadávaním aplikácie a porovnaním bezpečnostných hlavičiek rôznych trás. Analýzou hlavičky X-Powered-By a konzistencie Content-Security-Policy v rôznych hĺbkach cesty môže FixVibe identifikovať medzery v konfigurácii v next.config.js.
