sårbarheter For skripting på tvers av nettsteder har blitt utnyttet av angripere siden tidlig på 2000-tallet, OG XSS har vært på OWASPS Topp 10-liste over kritiske sikkerhetsrisikoer for webapplikasjoner fra 2004. Men mange utviklere, systemadministratorer og til og med noen penetrasjonstestere tar det fortsatt ikke alvorlig. For å bli en effektiv webapplikasjon hacker eller forsvarer, må du forstå grunnleggende OM hvordan du kan forhindre XSS-angrep.
xss-angrep er fortsatt problem
Cross-site scripting Er en type webapplikasjon sårbarhet som gjør det mulig for angripere å injisere og utføre ondsinnet klientsiden kode i offerets nettleser i en legitim web-applikasjon.
virkningen og alvorlighetsgraden av vellykkede xss-angrep kan variere. XSS-angrep kan resultere i økt kapring, stjålne tokens, stjålne økt-informasjonskapsler og forfalskningsangrep på tvers av nettsteder. Disse angrepene kan føre til at brukerkontoer blir kompromittert.
et VELLYKKET xss-angrep kan også gjøre det mulig for en angriper å bruke stjålne eller smidde informasjonskapsler for å utgi seg for å være gyldige brukere. I tilfeller der den gyldige brukeren har administrative rettigheter i programmet, kan angriperen deretter bruke disse rettighetene til å endre sider eller utføre ekstern kjøring av kode på serversiden av programmet.
TYPER xss-angrep
DET finnes tre TYPER xss-angrep: lagret, reflektert og DOCUMENT Object Model (DOM) basert.
- et lagret xss-angrep gjør det mulig for en angriper å bygge inn et skadelig skript på en sårbar side, som deretter utføres når et offer viser siden. Lagret XSS regnes som DEN mest skadelige TYPEN xss-angrep. Når en angriper for eksempel injiserer En Skadelig JavaScript-nyttelast direkte i et sårbart webprogram, lagrer nettleseren Den injiserte JavaScript-nyttelasten. Så, hver gang offeret besøker nettstedet eller webapplikasjonen, utføres den ondsinnede koden.
- et reflektert xss-angrep oppstår når den skadelige nyttelasten er innebygd i en kobling og aktiveres bare når brukeren klikker på koblingen. Her lagres ikke den ondsinnede nyttelasten, men vises bare på nettsiden i FORM AV EN URL eller POSTDATA.
- et dom-basert xss-sårbarhet oppstår når DOM brukes til å generere dynamisk innhold som inneholder brukerinndata som kan behandles uten å sjekke. Denne typen angrep utføres Med JavaScript i offerets nettleser
xss angrepsforebygging
for å forhindre XSS-angrep må utviklere validere brukerinndata ved å filtrere ut eller rømme spesialtegn og deretter kode utdataene for å forhindre lagrede xss-angrep og reflekterte xss-angrep. Følgende spesialtegn skal alltid filtreres ut eller rømmes for å hindre at de blir utnyttet skadelig:
< |
> |
« |
‘ |
) |
( |
& |
Utviklere bør validere brukerinngang-kilder – og kode utdataene-vasker-for å forhindre DOM-baserte XSS-angrep. Input source-egenskapen er DER DOM leser fra, og kilden er der angriperen kan injisere skadelig kode for å utnytte xss-sårbarheten. Følgende kildeegenskaper bør unngås:
- URL
- documentURI
- plassering
- href
- søk
- hash
Vasker er punktene DER DOM utfører de ondsinnede tegnene eller koden fra inngangen-kilden-som i sin tur blir sendt ut til nettsiden. Disse synker bør unngås for å hindre denial-of-service – baserte XSS angrep:
- innerHTML
- outerHTML
- skriv
Hvis Du vil bli bedre til å forstå OG forhindre xss-angrep, Har Google bygget ET XSS-spillnettsted for å lære hvordan disse angrepene fungerer og hvordan du bedre kan forhindre DEM. Mutillidae 2 prosjektet FRA OWASP tilbyr også et læringsmål for web sikkerhet fagfolk til å skjerpe SINE XSS angrep forsvar.