Wat is Cross-site scripting (XSS)?

Kwetsbaarheid waarbij een webapplicatie de invoer van gebruikers ongewijzigd in HTML uitvoert, zodat een script in de invoer in de browsers van bezoekers als pagina van die site wordt uitgevoerd. Het escapen van tekens met een speciale betekenis bij het uitvoeren is de fundamentele tegenmaatregel.

Japanse benaming: クロスサイトスクリプティング(XSS)

“Cross-site scripting (XSS)” komt voor in 4 oefenvragen uit 2 onderwerpen, bijv. Basis van webtechnologie, Basis van informatiebeveiliging.

Vakgebied: Basis van informatiebeveiliging

Nu oefenen: vragen over Cross-site scripting (XSS)

Welke beschrijving van een verschil tussen localStorage van de browser en cookies is juist?

  1. AGegevens in localStorage worden niet automatisch aan verzoeken toegevoegd; de JavaScript van pagina's met dezelfde origin leest en schrijft ze
  2. BGegevens in localStorage worden, net als cookies, bij elk verzoek naar dezelfde site in een header gezet en automatisch naar de server verzonden
  3. COok localStorage kan het attribuut HttpOnly krijgen, dus zelfs als er een sessie-ID in staat, kunnen de scripts van de pagina die niet lezen
Antwoord en toelichting tonen

Antwoord: A. Gegevens in localStorage worden niet automatisch aan verzoeken toegevoegd; de JavaScript van pagina's met dezelfde origin leest en schrijft ze

localStorage is een opslagplaats in de browser die per origin sleutels en waarden als strings bewaart; er is geen manier om een vervaldatum in te stellen, en de gegevens blijven in het algemeen bestaan tot ze worden verwijderd. Ze worden niet automatisch naar de server verzonden, dus om ze te verzenden zet JavaScript ze in een verzoek. Cookies zijn klein, in het algemeen tot ongeveer 4 KB per stuk, en worden bij elk verzoek automatisch verzonden, terwijl in localStorage grotere gegevens kunnen worden bewaard. De JavaScript van de pagina kan ze echter op elk moment lezen, dus bij een XSS-lek kan de inhoud worden gestolen. Met dit risico moet rekening worden gehouden bij het opslaan van waarden die voor authenticatie worden gebruikt.

Een webapplicatie voor een prikbord had een kwetsbaarheid waarbij scripts in teksten die gebruikers plaatsten, werden uitgevoerd in de browsers van andere bezoekers. Welke combinatie geeft de naam van deze kwetsbaarheid en de fundamentele tegenmaatregel juist weer?

  1. ASQL-injectie. Het wachtwoord voor de verbinding met de database langer maken
  2. BCross-site scripting (XSS). Tekens met een speciale betekenis, zoals < en >, escapen bij het uitvoeren van geplaatste tekst als HTML
  3. CCross-site scripting (XSS). De communicatie tussen server en browser met HTTPS versleutelen
Antwoord en toelichting tonen

Antwoord: B. Cross-site scripting (XSS). Tekens met een speciale betekenis, zoals < en >, escapen bij het uitvoeren van geplaatste tekst als HTML

Cross-site scripting (XSS) is een kwetsbaarheid waarbij een webapplicatie de invoer van gebruikers ongewijzigd in HTML uitvoert, zodat een script in de invoer als deel van de pagina in de browsers van bezoekers wordt uitgevoerd. Omdat het script draait als pagina van die site, kan het de sessie-informatie van de bezoeker (cookies) stelen of nepinvoervelden tonen. De fundamentele tegenmaatregel is tekens met een speciale betekenis, zoals <, >, & en aanhalingstekens, te escapen afhankelijk van de plek waar ze worden uitgevoerd (bijvoorbeeld < omzetten in &lt;), zodat ze als gewone tekens worden weergegeven. Aanvullende maatregelen zijn onder meer cookies het attribuut HttpOnly geven, zodat scripts ze niet kunnen lezen, en met een Content Security Policy beperken welke scripts mogen draaien. HTTPS beschermt het communicatiekanaal en kan niet voorkomen dat een script dat in een legitieme pagina is ingebed wordt uitgevoerd.

“Cross-site scripting (XSS)” in de toelichting

Vragen met “Cross-site scripting (XSS)” (4)

  1. Welke beschrijving van de cookie die met de bovenstaande header wordt ingesteld, is juist?
  2. Welke beschrijving van een verschil tussen localStorage van de browser en cookies is juist?
  3. Een webapplicatie voor een prikbord had een kwetsbaarheid waarbij scripts in teksten die gebruikers plaatsten, werden uitgevoerd in de browsers van andere bezoekers. Welke combinatie geeft de naam van deze kwetsbaarheid en de fundamentele tegenmaatregel juist weer?
  4. Een webapplicatie heeft een kwetsbaarheid waarbij, als een ingelogde gebruiker een door een aanvaller klaargezette valpagina opent, de browser van de gebruiker verzoeken naar de legitieme site stuurt die de gebruiker niet bedoelde, zoals geld overmaken of instellingen wijzigen. Welke tegenmaatregel is geschikt?

Verwante termen

Cookie (HTTP-cookie) Berichtauthenticatiecode (message authentication code) Digitale handtekening Hashfunctie Multifactorauthenticatie (MFA) Phishing Principe van minimale rechten (least privilege) Publieke-sleutelcryptografie (asymmetrische cryptografie) Ransomware Salt

Naar de woordenlijst