Web9: Typer XSS-utnyttelse - Del 3: Dom-basert XSS

Web9: Typer XSS-utnyttelse - Del 3: Dom-basert XSS

Vi har allerede nevnt to typer XSS- utnyttelser : reflektert og lagret.De har alle det fellestrekket at farlig kode, etter å ha blitt satt inn, vil bli utført etter serverens respons, noe som betyr at feilen ligger på serverens side.server.server. Det er en annen type XSS-utnyttelse som går imot denne funksjonen, ondsinnet kode kjøres umiddelbart på klientsiden uten å gå gjennom serveren, kjent som DOM-basert XSS eller også kjent som type 0 XSS.

Først av alt må vi vite hva DOM er?

DOM, forkortelse for Document Object Model, er en standardform for W3C (http://www.w3.org/DOM/) foreslått for å hente og manipulere data fra strukturerte dokumenter som HTML og XML. Denne modellen representerer dokumenter som en hierarkisk trestruktur. Alle elementer i HTML og XML regnes som en node.

DOM-basert XSS er en XSS-utnyttelsesteknikk basert på å endre DOM-strukturen til dokumentet, spesielt HTML.

La oss se på et spesifikt eksempel nedenfor:

Et nettsted har følgende URL til registreringssiden:

example.com/register.php?message=Please fill in the form

Når vi får tilgang til det, ser vi et veldig normalt skjema:

Web9: Typer XSS-utnyttelse - Del 3: Dom-basert XSS

Du kan enkelt utlede meldingsparameteren som er sendt inn i varslingsinnholdet på skjemaet, se nøye på kildekoden til denne varslingen:

Web9: Typer XSS-utnyttelse - Del 3: Dom-basert XSS

JavaScript-segmentet er ansvarlig for å hente verdien fra meldingsparameteren og skrive den ut. Fra denne slappe inndatakontrollen er det fullt mulig å lure brukere til å få tilgang til farlige nettadresser.

I stedet for å kaste:

message=Please fill in the form

så send:

message=GenderMaleFemale

function show(){alert();}

Da vil registreringsskjemaet se slik ut:

Web9: Typer XSS-utnyttelse - Del 3: Dom-basert XSS

Brukere vil ikke være mistenksomme overfor en "normal" form som dette, og når de velger kjønn, vil skriptet bli utført:

Web9: Typer XSS-utnyttelse - Del 3: Dom-basert XSS

Jeg skal forklare litt mer om verdien som sendes i meldingsparameteren:

GenderMaleFemale

function show(){alert();}

Hovedformålet er å utføre show()-funksjonen hver gang det er en onchage-hendelse på select-taggen. Show()-funksjonen her dukker ganske enkelt opp for å vise at skriptet har blitt utført. Men i virkeligheten vil hackere ofte bruke denne show()-funksjonen til å utføre et skript som overfører brukerens informasjonskapselverdi til en forhåndsbestemt server Lesere kan lese artikkelen Reflected XSS som nevner hvordan hackere lager Hvordan ser denne forespørselen ut?

Dette eksemplet gir oss to viktige konklusjoner. Først ble den ondsinnede koden kjørt umiddelbart etter å ha klikket på verdien i select-taggen, noe som betyr at den ble kjørt rett på klientsiden uten å gå gjennom serverens svar. For det andre har HTML-strukturen blitt endret med det beståtte skriptet. Og vi kan også se det faktiske utnyttelsesscenarioet, DOM Based er noe mer lik Reflected enn Stored XSS når det gjelder å lure brukere til å få tilgang til en URL innebygd med ondsinnet kode.

Følgende figur beskriver hvert trinn i implementeringen av den DOM-baserte XSS-angrepsteknikken:

Web9: Typer XSS-utnyttelse - Del 3: Dom-basert XSS

Nedenfor er en video av et medlem av WhiteHat.vn-forumet som utfører en utnyttelse gjennom DOM Based XSS:

Lykke til!


Installer dynamiske skjermer og animerte bakgrunnsbilder på Windows

Installer dynamiske skjermer og animerte bakgrunnsbilder på Windows

I Microsofts Windows Vista-operativsystem tillot DreamScene å sette opp dynamiske bakgrunner for datamaskiner, men åtte år senere er det fortsatt ikke tilgjengelig på Windows 10. Hvorfor har denne skikken representert et tilbakeslag til fortiden gjennom årene, og hva kan vi gjøre for å endre dette?

Hvordan koble nettverket mellom 2 bærbare datamaskiner ved hjelp av en nettverkskabel

Hvordan koble nettverket mellom 2 bærbare datamaskiner ved hjelp av en nettverkskabel

Hvis vi ønsker å koble to bærbare datamaskiner til nettverket, kan vi bruke en nettverkskabel og deretter endre IP-adressene til de to datamaskinene og det er det.

Slik fikser du Du har ikke tillatelse til å lagre på denne plasseringen på Windows

Slik fikser du Du har ikke tillatelse til å lagre på denne plasseringen på Windows

Når Windows viser feilen "Du har ikke tillatelse til å lagre på denne plasseringen", vil dette forhindre deg i å lagre filer i ønskede mapper.

Topp beste gratis og betalte Syslog Server-programvare for Windows

Topp beste gratis og betalte Syslog Server-programvare for Windows

Syslog Server er en viktig del av en IT-administrators arsenal, spesielt når det gjelder å administrere hendelseslogger på et sentralisert sted.

Hva er Error 524 A Timeout Oppstod og hvordan fikse feilen

Hva er Error 524 A Timeout Oppstod og hvordan fikse feilen

Feil 524: En tidsavbrudd oppstod er en Cloudflare-spesifikk HTTP-statuskode som indikerer at tilkoblingen til serveren ble stengt på grunn av et tidsavbrudd.

Hva er feil 0x80070570? Hvordan fikser jeg denne feilen?

Hva er feil 0x80070570? Hvordan fikser jeg denne feilen?

Feilkode 0x80070570 er en vanlig feilmelding på datamaskiner, bærbare datamaskiner og nettbrett som kjører operativsystemet Windows 10. Den vises imidlertid også på datamaskiner som kjører Windows 8.1, Windows 8, Windows 7 eller tidligere.

Instruksjoner for å fikse blåskjerm-feilen SIDEFEIL I IKKE PAGET OMRÅDE eller STOPP 0x00000050

Instruksjoner for å fikse blåskjerm-feilen SIDEFEIL I IKKE PAGET OMRÅDE eller STOPP 0x00000050

Blue screen of death-feil BSOD PAGE_FAULT_IN_NONPAGED_AREA eller STOP 0x00000050 er en feil som ofte oppstår etter installasjon av en maskinvareenhetsdriver, eller etter installasjon eller oppdatering av ny programvare, og i noen tilfeller er årsaken at feilen skyldes en korrupt NTFS-partisjon.

Hva skal du gjøre når du får Video Scheduler Intern Error?

Hva skal du gjøre når du får Video Scheduler Intern Error?

Video Scheduler Intern Error er også en dødelig blåskjermfeil, denne feilen oppstår ofte på Windows 10 og Windows 8.1. Denne artikkelen vil vise deg noen måter å fikse denne feilen på.

Hvordan forhindre at Epic Launcher starter med Windows

Hvordan forhindre at Epic Launcher starter med Windows

For å få Windows 10 til å starte opp raskere og redusere oppstartstiden, nedenfor er trinnene du må følge for å fjerne Epic fra Windows Startup og forhindre at Epic Launcher starter med Windows 10.

3 bedre måter å lagre filer på skrivebordet

3 bedre måter å lagre filer på skrivebordet

Du bør ikke lagre filer på skrivebordet. Det finnes bedre måter å lagre datafiler på og holde skrivebordet ryddig. Den følgende artikkelen vil vise deg mer effektive steder å lagre filer på Windows 10.