Áhrif
Árásarmaður sem nýtir sér veikleika á krosssíðu forskrifta (XSS) getur birst sem fórnarlamb notanda, framkvæmt hvaða aðgerð sem notandinn hefur heimild til að framkvæma og fengið aðgang að hvaða gögnum notandans sem er [S1]. Þetta felur í sér að stela setukökum til að ræna reikningum, fanga innskráningarskilríki með fölsuðum eyðublöðum eða framkvæma sýndarskemmdir [S1][S2]. Ef fórnarlambið hefur stjórnunarréttindi getur árásarmaðurinn fengið fulla stjórn á forritinu og gögnum þess [S1].
Orsök
XSS á sér stað þegar forrit fær notendastýrðan inntak og inniheldur það á vefsíðu án viðeigandi hlutleysis eða kóðun [S2]. Þetta gerir kleift að túlka inntakið sem virkt efni (JavaScript) af vafra fórnarlambsins og sniðganga Same Origin Policy sem er hönnuð til að einangra vefsíður hver frá annarri [S1][S2].
Tegundir veikleika
- Endurspeglast XSS: Illgjarn forskrift endurspeglast af vefforriti í vafra fórnarlambsins, venjulega í gegnum vefslóðarbreytu [S1].
- Geymt XSS: Handritið er varanlega geymt á þjóninum (t.d. í gagnagrunni eða athugasemdahluta) og birt notendum síðar [S1][S2].
- DOM-undirstaða XSS: Varnarleysið er algjörlega til staðar í kóða viðskiptavinarhliðar sem vinnur úr gögnum frá ótraustum uppruna á óöruggan hátt, svo sem að skrifa í
innerHTML[S1].
Steinsteypa lagfæringar
- Kóðaðu gögn um úttak: Umbreyttu notendastýrðum gögnum í öruggt form áður en þau eru birt. Notaðu HTML einingakóðun fyrir HTML meginmálið og viðeigandi JavaScript eða CSS kóðun fyrir þessi tilteknu samhengi [S1][S2].
- Sía inntak við komu: Innleiða stranga leyfislista fyrir væntanleg inntakssnið og hafna öllu sem er ekki í samræmi við [S1][S2].
- Notaðu öryggishausa: Stilltu
HttpOnlyfánann á setukökur til að koma í veg fyrir aðgang í gegnum JavaScript [S2]. NotaðuContent-TypeogX-Content-Type-Options: nosnifftil að tryggja að vafrar mistúlki ekki svör sem keyranlegan kóða [S1]. - Efnisöryggisstefna (CSP): Settu upp öflugt CSP til að takmarka heimildirnar sem hægt er að hlaða og keyra forskriftir frá, sem veitir ítarlegt varnarlag ZXCVIXVIBETOKEN0ZXCVZXCVIXVIBETOKEN1.
Hvernig FixVibe prófar það
FixVibe gæti greint XSS með marglaga nálgun sem byggir á viðurkenndri skönnunaraðferðum [S1]:
- Auðlausar skannar: Að bera kennsl á vantar eða veika öryggishausa eins og
Content-Security-PolicyeðaX-Content-Type-Optionssem eru hannaðar til að draga úr XSS [S1]. - Virkir rannsakar: Að dæla einstökum, illgjarnri alfanumerískum strengjum inn í vefslóðarfæribreytur og formreiti til að ákvarða hvort þær endurspeglast í meginmáli svarsins án réttrar kóðun [S1].
- Repo skannar: Greinir JavaScript-hlið viðskiptavinar fyrir „vaska“ sem meðhöndla ótraust gögn á óöruggan hátt, svo sem
innerHTML,document.writeeðasetTimeout, sem eru algengar vísbendingar uminnerHTML,document.write, eðasetTimeout, sem eru algengar vísbendingar uminnerHTML[S1].
