Hvad er cross-site scripting (XSS) og hvorfor det er en sikkerhedstrussel

  • Michael Fisher
  • 0
  • 1639
  • 445
Reklame

Sårbarheder på tværs af scripting er det største sikkerhedsproblem på webstedet i dag. Undersøgelser har fundet, at de er chokerende almindelige - 55% af websteder indeholdt XSS-sårbarheder i 2011, ifølge White Hat Securitys seneste rapport, der blev frigivet i juni 2012. Mens de fleste har hørt om computervirus En kort historie om de 5 værste computervirus af All Time A Short History of the 5 Worst Computer Viruses Of All Time Ordet "virus" og dets tilknytning til computere blev påsat af den amerikanske computerforsker Frederick Cohen, der brugte det til at beskrive "et program, der kan" inficere "andre programmer ved at ændre dem at medtage en muligvis ... og andre sådanne problemer forbliver XSS-sårbarheder ukendt for den gennemsnitlige person.

En sårbarhed på tværs af scripting tillader en angriber at udføre vilkårlig JavaScript-kode (fra et andet sted) på en webside. Koden udføres på websiden i brugerens browser.

Et eksempel - Twitter StalkDaily Worm

Lad os se på et XSS-angreb, der fandt sted tidligere med Twitter. I 2009, StalkDaily ormen Hvad er forskellen mellem en orm, en trojansk & en virus? [MakeUseOf Explains] Hvad er forskellen mellem en orm, en trojansk & en virus? [MakeUseOf Explains] Nogle mennesker kalder enhver form for ondsindet software en "computervirus", men det er ikke nøjagtigt. Virus, orme og trojanere er forskellige typer ondsindet software med forskellige opførsler. Især spredte de sig i meget ... spredt over hele Twitter. Når en Twitter-bruger besøgte en inficeret brugers profilside, blev deres profilside også inficeret og sprede ormen. Ormen sendte også tweets fra hver inficeret konto.

Så hvordan præcist virkede StalkDaily ormen? Hakkede nogen Twitter's webservere? Ikke helt - selvom det var en slags hack.

Hver Twitter-bruger kan indstille en kort biografi på deres profilside. Brugere indtaster tekst i en profilboks, og når de først har gemt profilen, vises teksten på deres profilside. En person indså, at Twitter ikke renset tekstindtastningen korrekt fra bioboksen (vi kommer til dette senere) - det placerede netop den tekst, brugerne indtastede direkte i websidens kildekode. Dette gjorde det muligt for en bruger at indtaste et HTML-tag, der indlæser en JavaScript-fil fra en tredjeparts webserver.

Når en anden Twitter-bruger besøgte den inficerede profilside, indlæste deres browser scriptet. Scriptet havde fuld adgang til alt, hvad den officielle Twitter-kode anvendte på siden - så scriptet var i stand til at bede om brugerens Twitter-cookie (som gemmer brugerens login-tilstand) og brugernavn fra browseren. Scriptet sendte derefter disse oplysninger tilbage til tredjepartswebserveren. Med disse detaljer kunne tredjepartswebserveren autentificere som Twitter-bruger, ændre brugerens bio for at sprede ormen og sende tweets fra brugerens konto.

Hvordan udviklere kan forhindre XSS-angreb

En simpel regel giver webudviklere mulighed for at fortælle, om nogen er en god webudvikler til dit projekt. Hvordan man fortæller, om nogen er en god webudvikler til dit projekt Det er ikke en nem opgave at vælge nogen til at oprette et websted til dig. Selv hvis du ikke bygger den næste Gmail, skal du gøre tingene rigtigt første gang. Men at vælge en god ... for at forhindre script-angreb på tværs af websteder: Stol ikke på noget input, der kommer fra brugere. I Twitter's tilfælde skulle de for eksempel ikke have tillid til de tekstbrugere, der blev indtastet i deres biokasser. Twitter burde have taget teksten og “desinficeres” eller “undslap” det - for eksempel, bør ændres tilo