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.

29-07-2022 - 6 minutters læsning. Under kategorien: cybercrime.

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.:

  • Sprede malware på en brugers enhed

  • Få adgang til browserhistorik og udklipsholderindhold

  • Fjernstyre en brugers browser

  • Få adgang til følsomme data

  • Scanne og udnytte forskellige applikationer

  • Omdirigere brugeren til et ondsindet websted

  • Registrere brugerens tastetryk

  • Skaffe cookieoplysninger fra brugeren

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

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

  • Input, der kommer til webapplikationer, er ikke valideret

  • Output til browseren er ikke HTML-kodet

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:

  • Opdatere deres websteds- og serversoftware for at forhindre fremtidig udnyttelse af sårbarheder, der kan udnyttes gennem et XSS-angreb.

  • Alle sider på deres websted, der accepterer brugerinput, filtrerer kodeinput, såsom HTML og JavaScript.

  • Scanne efter eventuelle sårbarheder i webprogrammer og få dem fikset.

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

Brugere kan beskytte sig mod XSS-angreb ved at:

  • Deaktivere scripting på sider, hvor de ikke er nødvendige, eller deaktivere dem helt.

  • Undgå at klikke på links fra mistænkelige e-mails eller pop-up reklamer, da de kan føre brugeren til kompromitterede hjemmesider.

  • Gå direkte ind på hjemmesiderne ved at indtaste URL-adressen i deres browser i stedet for klikke på links.

  • Holde sin enheds software opdateret med de seneste sikkerhedsrettelser, så der ikke er nogen sikkerhedshuller. Regelmæssig opdatering af software vil nedsætte antallet af sårbarheder, der gør en hjemmeside eller programmer sårbare for XSS-angreb.

  • Gennemgå sine apps for at bestemme, hvilke der er nødvendige, og hvilke brugeren sjældent anvender. Ved at fjerne apps der sjældent bliver brugt, reduceres antallet af potentielle sårbarheder, der kan udnyttes af hackere.

  • Bruge antivirus-værktøjer af høj kvalitet. De blokerer mange former for cybertrusler såsom virus, spyware, adware og ransomware.

Forfatter Sofie Meyer

Sofie Meyer

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.

Se alle indlæg af Sofie Meyer

Lignende indlæg