Hvad er cross-site scripting?

Cross-site scripting (XSS)-angreb er en type af malware-angreb, der injicerer malware-kode på ellers normale og sikre hjemmesider. Brugerne udløser malwaren, når de klikker på en applikation inde på hjemmesiden, eller når selve websiden bliver indlæst.

6 minutters læsning. Udgivet den 29-07-2022 under kategorien: cyberangreb.

Hvad er cross-site scripting?

Cross-site scripting (XSS)-angreb er en type af malware-angreb, der injicerer malware-kode på ellers normale og sikre hjemmesider. Hackere anvender fejl eller sårbarheder i en webapplikation (script) til at sende malware til brugerne på hjemmesiderne. Brugerne udløser malwaren, når de klikker på applikationen inde på hjemmesiden, eller når selve websiden bliver indlæst.

Organisationer og virksomheder, der kører scripts på deres webside, kan lade døren stå åben for XSS-angreb, hvis de viser indhold fra brugere fra ikke-pålidelige kilder uden ordentlig validering. 

Definitionen af cross-site scripting (XSS)-angreb

XSS-angreb sker, når en hacker narrer en webapplikation til at sende data i en formular, som en brugers browser kan udføre. Oftest er dette en kombination af HTML-koden og XSS leveret af den cyberkriminelle, men XSS kan også bruges til at levere ondsindede downloads, plugins eller medieindhold.

En hacker er i stand til at narre en webapplikation på denne måde, når webapplikationen (scriptet) tillader data fra en ikke-pålidelig kilde - såsom data indtastet i en formular af brugere eller videregivet til et API-slutpunkt af klientsoftware - at blive vist til brugere uden at blive korrekt behandlet.

Fordi XSS kan tillade hackere at indsætte ondsindet kode i brugeres browser og få adgang til nogle typer data, såsom sessionscookies, kan en XSS-sårbarhed tillade en hacker at tage data fra brugere og dynamisk inkludere dem på websider og tage kontrol over et websted eller en applikation.

Skadeligt indhold leveret gennem XSS-angreb kan blive vist øjeblikkeligt, hver gang en side indlæses eller en specifik hændelse udføres. XSS-angreb har til formål at stjæle personlige oplysninger fra brugere af en webapplikation, og angrebene kan være særligt effektive, fordi de vises på velkendte og pålidelige hjemmesider og er rettet mod alle, der bruger de hjemmesider.

Mere simpelt beskrevet, så indsætter cyberkriminelle ondsindede scripts ind i et websteds indhold, som derefter bliver inkluderet i det dynamiske indhold, der leveres til brugerens browser. De fleste browsere kan ikke vide, at de ondsindede scripts er farlige og eksekverer dem derfor.

Begrebet "cross-site scripting" henviser til, at det er scripts på tværs af hjemmesider, som bliver angrebet.

I begyndelsen involverede angrebene udelukkende JavaScript, men nu kan alle sprog på klientsiden rammes, f.eks. ActiveX, Flash og HTML.

Typer af XXS-angreb

De tre mest almindelige typer af XXS-angreb er reflected XXS, persistent XXS og DOM-baserede XXS.

Reflected XSS-angreb (Reflekteret XSS)

Dette er en af de mest anvendte cross-site scripting-angreb. Det finder sted, når brugeren f.eks. sender en anmodning til en hjemmesides server. I stedet for at få svar fra selve serveren, kan brugeren komme i kontakt med et ondsindet script, som vil indeholde malware. Scriptet kan være designet, så det ligner en normal fejlmeddelelse eller måske et søgeresultat.

Brugeren vil ofte klikke på linket eller meddelelsen, og brugerens enhed vil derefter blive inficeret med malwaren, da klikket udløser eksekveringen af den ondsindede kode. Herefter vil alle oplysninger, som brugeren indtaster, blive sendt til hackeren. Det kan være adresser på søgemaskiner, loginoplysninger, personlig data osv.

DOM-baseret XSS-angreb

Dette er en type angreb, der baserer sig på DOM (Document Object Model). Document Object Model (DOM) er datarepræsentationen af de objekter, der omfatter strukturen og indholdet af et dokument på nettet.

DOM giver brugeren muligheden for at få adgang til hjemmesidens komplette indhold uden at skulle interagere med den pågældende server. I DOM-angreb fokuserer hackeren på offerets browser.

Persistent XSS-angreb (Vedvarende XSS)

Dette er også kendt som Stored XSS og er et angreb, der sker, når et program eller en hjemmesides HTTPS-svar alle er blevet inficeret med ondsindede koder. Malwaren kan f.eks. være lagret i hjemmesidens kommentarfelt, hvor det vil blive udløst, så snart nogen klikker på kommentarområdet.

Persistent XSS er ret skadeligt, da hackeren allerede har indsat malwaren på en hjemmeside. Offeret skal ikke lokkes til at klikke på et link. Det er nok at bruge en tilfældig funktion på websiden, som er inficeret med malwaren, for at angrebet sker.

Hvor persistent XSS og reflected XSS-angreb viser tegn på noget mistænkeligt på HTML respons-siden, så er det anderledes med DOM XSS-angreb. I DOM XSS-angreb skal man se på hjemmesidens kode for at opdage angrebet.

Konsekvenserne af cross-site scripting-angreb

Når det lykkes hackere at udnytte XSS-sårbarheder, kan de få adgang til legitimationsoplysninger. De kan også sprede vira eller få adgang til brugerens computer og se brugerens browserhistorik eller fjernstyre browseren. Efter at have fået kontrol over ofrets system, kan angribere også undersøge og udnytte andre applikationer.

Ved at udnytte XSS-sårbarheder kan en hacker udføre skadelige handlinger, f.eks.:

Hvordan kan man identificere scriptsårbarheder på tværs af websteder?

XSS-sårbarheder kan forekomme og opdages, hvis:

Forebyggelse af scripting på tværs af websteder

For at minimere sårbarheder i forbindelse med scripting på tværs af websteder, kan hjemmesideudviklere eller ejere sørge for at:

Sådan kan brugere beskytte sig selv mod cross-site scripting-angreb

Brugere kan beskytte sig mod XSS-angreb ved at:

Forfatter Sofie Meyer

Kort om forfatteren

Sofie Meyer er copywriter og phishing-aficionado her i Moxso. Hun er uddannet cand.mag. i dansk og har gennem sin uddannelse haft en stor interesse for cyberkriminalitet, hvilket resulterede i et specialeprojekt om phishing.

Lignende indlæg