Cross-Site Scripting (XSS) er et injektionsangreb, hvor ondsindede scripts injiceres på ellers troværdige og godartede websteder. Når en angriber sender ondsindet kode, normalt som et browsersidescript, til en anden slutbruger via en webapplikation, kaldes det et XSS-angreb. Webapplikationer, der ikke validerer eller krypterer brugerinput, er sårbare over for disse angreb, fordi forskellige fejl er udbredte.
Et ondsindet script kan sendes til en intetanende bruger via XSS for at få adgang til deres data. Men i tilfælde af en hånd, der ikke bør stoles på, kan slutbrugerens browser ikke se det, og den vil udføre scriptet alligevel. Grundlæggende set er det ondsindede script i stand til at få adgang til cookies, sessionstokens eller andre følsomme oplysninger, som browseren kan få fat i, fordi den mener, at hånden kommer fra en betroet kilde.
Skal brugerne ikke håndtere cross-site scripting?
XSS-sårbarheder på websteder eller i applikationer kan give angribere mulighed for at indsætte JavaScript i brugernes browsere, hvilket kompromitterer sikkerheden på sårbare websteder, webapplikationer og deres brugere. På samme måde som enhver anden sikkerhedssårbarhed, såsom XSS, ikke er brugerens problem. Med andre ord, hvis det påvirker dine brugere, påvirker det også dig.
Lejlighedsvis bruges cross-site scripting til at beskadige et websted i stedet for direkte at målrette en bruger i tilfælde, hvor angriberen sigter mod at forringe et websted indefra. Ved at indsprøjte scripts på et websted kan en angriber ændre webstedets indhold eller endda omdirigere browseren til en anden webside, for eksempel en inficeret med skadelig kode, for at ændre webstedets indhold.
Hvordan fungerer cross-site scripting?
Det er først nødvendigt for en angriber at finde en måde at indsprøjte skadelig kode (nyttelast) i URL'en på en webside, som offeret besøger, for at køre skadelig JavaScript-kode i offerets browser. Derefter skal offeret besøge den skadelige kodes hjemmeside for at udføre den. En angriber kan bruge et social engineering- eller phishing-angreb til at sende en skadelig URL til et bestemt offer, hvis angriberen er rettet mod et specifikt mål.
Det sårbare websted skal være i stand til at integrere brugerinput direkte på sine sider for at trin et kan udføres. Det ville derefter være muligt for en angriber at indsætte en ondsindet streng på en webside, som ville blive fortolket som kildekode af offerets browser, når den ser siden.
Hvilke typer XSS-angreb findes der?
XSS-angreb kan klassificeres i 3 hovedtyper. Følgende er nogle af dem:
- Reflekteret XSS : Det afspejles i XSS i det omfang, at det skadelige script kommer fra den aktuelle HTTP-anmodning.
- Lagret XSS : En lagret XSS, hvor det ondsindede script er placeret i et websteds database.
- DOM-baseret XSS : En XSS baseret på DOM-data, hvor sårbarheden findes på klientsiden snarere end på serversiden, er kendt som DOM-baseret XSS.
Hvordan forebygger man XSS?
Du bør sikre dig, at dit input er renset for at undgå XSS-angreb. For eksempel skal du sørge for, at du ikke sender data, du modtager fra browseren, direkte til din applikationskode uden at kontrollere for fejl, inden du gør det. På Seahawk Medias hjemmeside er der flere emner, der diskuteres, som kan være af interesse.