Ietekme
Uzbrucējs, kurš veiksmīgi izmanto Cross-Site skriptēšanas (XSS) ievainojamību, var maskēties kā upura lietotājs, veikt jebkuru darbību, ko lietotājs ir pilnvarots veikt, un piekļūt jebkuram lietotāja datiem. [S1]. Tas ietver sesijas sīkfailu zādzību, lai nolaupītu kontus, pieteikšanās akreditācijas datu tveršanu, izmantojot viltotas veidlapas, vai virtuālu sagrozīšanu [S1][S2]. Ja upurim ir administratīvās tiesības, uzbrucējs var iegūt pilnu kontroli pār lietojumprogrammu un tās datiem [S1].
Galvenais cēlonis
XSS rodas, kad lietojumprogramma saņem lietotāja vadāmu ievadi un iekļauj to tīmekļa lapā bez atbilstošas neitralizācijas vai kodēšanas [S2]. Tādējādi upura pārlūkprogramma var interpretēt ievadi kā aktīvu saturu (JavaScript), apejot to pašu izcelsmes politiku, kas izstrādāta, lai izolētu vietnes vienu no otras [S1][S2].
Ievainojamības veidi
- Atspoguļots XSS: Ļaunprātīgi skripti tiek atspoguļoti no tīmekļa lietojumprogrammas upura pārlūkprogrammā, parasti izmantojot URL parametru [S1].
- Saglabāts XSS: Skripts tiek pastāvīgi saglabāts serverī (piem., datu bāzē vai komentāru sadaļā) un vēlāk tiek rādīts lietotājiem [S1][S2].
- Uz DOM balstīta XSS: Ievainojamība pilnībā pastāv klienta puses kodā, kas apstrādā datus no neuzticama avota nedrošā veidā, piemēram, rakstot uz
innerHTML[S1].
Betona labojumi
- Kodēt datus izvadē: pirms renderēšanas konvertējiet lietotāja kontrolējamos datus drošā formā. Izmantojiet HTML entītijas kodējumu HTML pamattekstam un atbilstošu JavaScript vai CSS kodējumu šiem konkrētajiem kontekstiem [S1][S2].
- Filtrēt ievadi ierašanās brīdī: ieviesiet stingrus atļaušanas sarakstus paredzamajiem ievades formātiem un noraidiet visu, kas neatbilst [S1][S2].
- Izmantojiet drošības galvenes: sesijas sīkfailos iestatiet karogu
HttpOnly, lai novērstu piekļuvi, izmantojot JavaScript [S2]. IzmantojietContent-TypeunX-Content-Type-Options: nosniff, lai nodrošinātu, ka pārlūkprogrammas atbildes nepareizi interpretē kā izpildāmu kodu [S1]. - Satura drošības politika (CSP): Izvietojiet spēcīgu CSP, lai ierobežotu avotus, no kuriem var ielādēt un izpildīt skriptus, nodrošinot padziļinātu aizsardzības slāni [S1]ZBXVFIXIX.1.
Kā FixVibe to pārbauda
FixVibe varētu noteikt XSS, izmantojot daudzslāņu pieeju, kuras pamatā ir noteiktas skenēšanas metodoloģijas [S1]:
- Pasīvā skenēšana: Trūkstošu vai vāju drošības virsrakstu identificēšana, piemēram,
Content-Security-PolicyvaiX-Content-Type-Options, kas ir paredzēti, lai mazinātu XSS [S1]. - Aktīvās pārbaudes: unikālu, ļaunprātīgu burtciparu virkņu ievadīšana URL parametros un veidlapu laukos, lai noteiktu, vai tās ir atspoguļotas atbildes pamattekstā bez atbilstoša kodējuma [S1].
- Repo skenēšana: klienta puses JavaScript analīze, lai atrastu "izlietnes", kas nedroši apstrādā neuzticamus datus, piemēram,
innerHTML,document.writevaisetTimeout, kas ir bieži sastopami DVITCENCVF uz DVICCVF bāzēti rādītāji DVIXX. [S1].
