Cross site scripting

Geschreven door: op maandag 11 september 2017

Leestijd:

Cross site scripting, ook wel bekends als XSS is een beveiligings issue bij websites. Het zorgt ervoor dat een buitenstaander code kan zetten op een website welke vervolgens voor een deel of voor alle gebruikers uitgevoerd zal worden. Denk hierbij bijvoorbeeld aan een vertrouwde bank site. Me de aanpassing zouden bijvoorbeeld jouw gegevens kunnen worden verstuurd naar de hacker, of het verzend adres wordt aangepast bij het overmaken van geld.

De oorzaak van dit probleem ligt bij tonen van gegevens die door de gebruiker zijn ingevoerd. Een simpel voorbeeld hiervan zou bijvoorbeeld een forum kunnen zijn. Een willekeurig persoon kan hier een bericht plaatsten. Nadat dit opgeslagen is wordt het bericht vervolgens aan alle bezoekers van deze pagina getoond. Bij XSS wordt code in dit bericht geplaatst ( meestal javascript ) wat bij het bezoeken van de forum pagina wordt uitgevoerd. Hiermee zijn vele opties mogelijk afhankelijk van wat de aanvaller zijn doel was. Zo is het mogelijk om als de bezoekende gebruiker een nieuw bericht in het forum te plaatsten, of in sommige gevallen zelfs deze gebruiker zijn sessie over te nemen (wat neerkomt op dat de aanvaller kan inloggen als deze gebruiker).

Een simpel voorbeeld van een XSS post zou zijn:


<script type='text/javascript'>alert('xss');</script>

Overigens is deze code ongevaarlijk en zorgt er alleen voor dat alle bezoekers van deze pagina een popup bericht te zien krijgen dat zegt xss.

xss.png

Om xss tegen zijn er een aantal stappen die genomen kunnen worden bij het maken van een website. Ten eerste is het belangrijk om de invoer van een gebruiker te filteren. Vaak wordt er in een invoer slechts tekst verwacht en kunnen alle andere tekens eruit gefilterd worden. Wanneer deze tekens wel benodigd zijn kunnen specifieke woorden zoals ‘<script’ er alsnog uitgefilterd worden.

Verder is er de mogelijkheid om bij het plaatsten van gebruikers invoer de tekst om te vormen zodat de browser het niet meer als script opvat. Inplaats daarvan zullen de tekens letterlijk als bericht op de pagina worden getoond.

Tot slot is het belangrijk om consistent te zijn. Het lastige van XSS is niet dat het moeilijk te voorkomen is, maar dat dit op vele en soms onverwachte plaatsen voor kan komen. Om XSS te voorkomen moet dit in 100% van de gevallen correct worden opgelost. Hiervoor is het belangrijk om tijdens het bouwen van een website altijd aandacht te besteden aan een potentiele XSS beveiligingsissue.


Andere blogartikelen

Bel 072 5345 888
Meer dan 40 bedrijven vertrouwen op ons
Onze Middelen en Technologieën
microsoft silver partner
Adobe partner
fd-gazellen-2018.jpg
Google analytics
partners-logo.jpg