FixVibe
Covered by FixVibehigh

Oppdage og forhindre skripting på tvers av nettsteder (XSS) sårbarheter

Skripting på tvers av nettsteder (XSS) oppstår når en applikasjon inkluderer uklarerte data på en nettside uten riktig validering eller koding. Dette tillater angripere å utføre ondsinnede skript i offerets nettleser, noe som fører til øktkapring, uautoriserte handlinger og eksponering av sensitive data.

CWE-79

Virkning

En angriper som lykkes med å utnytte et Cross-Site Scripting (XSS)-sårbarhet, kan maskere seg som en offerbruker, utføre enhver handling brukeren er autorisert til å utføre, og få tilgang til alle brukerens data [S1]. Dette inkluderer å stjele øktinformasjonskapsler for å kapre kontoer, fange inn påloggingsinformasjon gjennom falske skjemaer, eller utføre virtuell defacement [S1][S2]. Hvis offeret har administrative rettigheter, kan angriperen få full kontroll over applikasjonen og dens data [S1].

Grunnårsak

XSS oppstår når en applikasjon mottar brukerkontrollerbar input og inkluderer den på en nettside uten riktig nøytralisering eller koding [S2]. Dette gjør at input kan tolkes som aktivt innhold (JavaScript) av offerets nettleser, og omgår Samme Origin Policy designet for å isolere nettsteder fra hverandre [S1][S2].

Sårbarhetstyper

  • Reflektert XSS: Ondsinnede skript reflekteres fra en nettapplikasjon til offerets nettleser, vanligvis via en URL-parameter [S1].
  • Lagret XSS: Skriptet er permanent lagret på serveren (f.eks. i en database eller kommentarseksjon) og servert til brukere senere [S1][S2].
  • DOM-basert XSS: Sikkerheten eksisterer utelukkende i kode på klientsiden som behandler data fra en ikke-klarert kilde på en usikker måte, for eksempel ved å skrive til innerHTML [S1].

Betongrettinger

  • Kod data ved utdata: Konverter brukerkontrollerbare data til en sikker form før de gjengis. Bruk HTML-enhetskoding for HTML-kroppen, og passende JavaScript- eller CSS-koding for de spesifikke kontekstene [S1][S2].
  • Filtrer inndata ved ankomst: Implementer strenge godkjenningslister for forventede inndataformater og avvis alt som ikke samsvarer med [S1][S2].
  • Bruk sikkerhetshoder: Sett HttpOnly-flagget på øktinformasjonskapsler for å forhindre tilgang via JavaScript [S2]. Bruk Content-Type og X-Content-Type-Options: nosniff for å sikre at nettlesere ikke feiltolker svar som kjørbar kode [S1].
  • Retningslinjer for innholdssikkerhet (CSP): Distribuer en sterk CSP for å begrense kildene som skript kan lastes og kjøres fra, og gir et dyptgående forsvar ZXCVIXVIBETOKEN0ZXCVZXCVIXVIBETOKEN1.

Hvordan FixVibe tester for det

FixVibe kunne oppdage XSS gjennom en flerlags tilnærming basert på etablerte skanningsmetoder [S1]:

  • Passive skanninger: Identifiserer manglende eller svake sikkerhetshoder som Content-Security-Policy eller X-Content-Type-Options som er utviklet for å redusere XSS [S1].
  • Aktive sonder: Injiserer unike, ikke-ondsinnede alfanumeriske strenger i URL-parametere og skjemafelt for å finne ut om de gjenspeiles i svarteksten uten riktig koding [S1].
  • Repo-skanninger: Analyserer JavaScript på klientsiden for "vasker" som håndterer uklarerte data på en usikker måte, for eksempel innerHTML, document.write eller setTimeout, som er vanlige indikatorer for 4.4.4. [S1].