Vpliv
Manjkajoče varnostne glave je mogoče izkoristiti za izvajanje vgrajevanja klikov, skriptiranje med spletnimi mesti (XSS) ali zbiranje informacij o strežniškem okolju [S2]. Ko so glave, kot je Content-Security-Policy (CSP) ali X-Frame-Options, nedosledno uporabljene na poteh, lahko napadalci ciljajo na določene nezaščitene poti, da zaobidejo varnostne kontrole [S2] na celotnem spletnem mestu.
Temeljni vzrok
Next.js omogoča razvijalcem, da konfigurirajo glave odgovorov v next.config.js z uporabo lastnosti headers [S2]. Ta konfiguracija uporablja ujemanje poti, ki podpira nadomestne znake in regularne izraze [S2]. Varnostne ranljivosti običajno izhajajo iz:
- Nepopolna pokritost poti: Vzorci nadomestnih znakov (npr.
/path*) morda ne pokrivajo vseh predvidenih podpoti, zaradi česar ostanejo ugnezdene strani brez varnostnih glav [S2]. - Razkritje informacij: Next.js lahko privzeto vključuje glavo
X-Powered-By, ki razkriva različico ogrodja, razen če ni izrecno onemogočena prek konfiguracijepoweredByHeader[S2]. - Napačna konfiguracija CORS: Nepravilno definirane glave
Access-Control-Allow-Originv matrikiheaderslahko omogočijo nepooblaščen navzkrižni dostop do občutljivih podatkov [S2].
Betonski popravki
- Vzorci revizijske poti: Zagotovite, da vsi vzorci
sourcevnext.config.jsuporabljajo ustrezne nadomestne znake (npr./:path*) za globalno uporabo glav, kjer je to potrebno [S2]. - Onemogoči prstni odtis: Nastavite
poweredByHeader: falsevnext.config.js, da preprečite pošiljanje glaveX-Powered-By[S2]. - Omeji CORS: Nastavite
Access-Control-Allow-Originna določene zaupanja vredne domene namesto nadomestnih znakov v konfiguracijiheaders[S2].
Kako ga FixVibe testira
FixVibe bi lahko izvedel aktivno zaprto sondo tako, da pajka po aplikaciji in primerja varnostne glave različnih poti. Z analizo glave X-Powered-By in doslednosti Content-Security-Policy v različnih globinah poti lahko FixVibe prepozna konfiguracijske vrzeli v next.config.js.
