Web9: Typer av XSS-exploatering - Del 3: Dom-baserad XSS

Web9: Typer av XSS-exploatering - Del 3: Dom-baserad XSS

Vi har redan nämnt två typer av XSS- exploateringar : reflekterad och lagrad. De har alla den gemensamma egenskapen att farlig kod, efter att den har infogats, kommer att exekveras efter serverns svar, vilket innebär att felet ligger på serverns sida.server.server. Det finns en annan typ av XSS-exploatering som går emot denna funktion, skadlig kod exekveras omedelbart på klientsidan utan att gå via servern, känd som DOM-baserad XSS eller även känd som typ 0 XSS.

Först och främst behöver vi veta vad DOM är?

DOM, förkortning för Document Object Model, är en standardform av W3C (http://www.w3.org/DOM/) som föreslås för att hämta och manipulera data från strukturerade dokument som HTML och XML. Denna modell representerar dokument som en hierarkisk trädstruktur. Alla element i HTML och XML betraktas som en nod.

DOM-baserad XSS är en XSS-exploateringsteknik baserad på att ändra dokumentets DOM-struktur, särskilt HTML.

Låt oss titta på ett specifikt exempel nedan:

En webbplats har följande URL till registreringssidan:

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

När vi kommer åt det ser vi en mycket normal form:

Web9: Typer av XSS-exploatering - Del 3: Dom-baserad XSS

Du kan enkelt härleda meddelandeparametern som skickas in i meddelandeinnehållet på formuläret, titta noga på källkoden för detta meddelande:

Web9: Typer av XSS-exploatering - Del 3: Dom-baserad XSS

JavaScript-segmentet ansvarar för att hämta värdet från meddelandeparametern och skriva ut det. Från denna slappa indatakontroll är det fullt möjligt att lura användare att komma åt farliga webbadresser.

Istället för att gjuta:

message=Please fill in the form

sänd sedan:

message=GenderMaleFemale

function show(){alert();}

Då kommer registreringsformuläret att se ut så här:

Web9: Typer av XSS-exploatering - Del 3: Dom-baserad XSS

Användare kommer inte att vara misstänksamma mot en "normal" form som denna, och när man väljer kön kommer skriptet att köras:

Web9: Typer av XSS-exploatering - Del 3: Dom-baserad XSS

Jag ska förklara lite mer om värdet som skickas i meddelandeparametern:

GenderMaleFemale

function show(){alert();}

Dess huvudsakliga syfte är att köra show()-funktionen varje gång det finns en onchage-händelse på select-taggen. Show()-funktionen här dyker helt enkelt upp för att visa att skriptet har körts. Men i verkligheten använder hackare ofta den här show()-funktionen för att köra ett skript som överför användarens cookie-värde till en förutbestämd server Läsare kan läsa artikeln Reflected XSS som nämner hur hackare skapar Hur ser denna begäran ut?

Detta exempel ger oss två viktiga slutsatser. Först exekverades den skadliga koden omedelbart efter att man klickade på värdet i select-taggen, vilket betyder att den kördes direkt på klientsidan utan att gå igenom serverns svar. För det andra har HTML-strukturen ändrats med det godkända skriptet. Och vi kan också se det faktiska exploateringsscenariot, DOM Based är något mer lik Reflected än Stored XSS när det gäller att lura användare att komma åt en URL inbäddad med skadlig kod.

Följande figur beskriver varje steg i implementeringen av den DOM-baserade XSS-attacktekniken:

Web9: Typer av XSS-exploatering - Del 3: Dom-baserad XSS

Nedan är en video av en medlem av WhiteHat.vn-forumet som utför ett utnyttjande genom DOM Based XSS:

Lycka till!


Fix Kan inte öppna det här objektfelet i Windows

Fix Kan inte öppna det här objektfelet i Windows

Om du använder Windows får du felmeddelandet Kan inte öppna det här objektet. Det kan ha flyttats, bytt namn eller tagits bort, vad ska jag göra? Vänligen följ artikeln nedan för mer information.

Vad är KRACK? Hur KRACK bröt WPA2 WiFi-säkerhetsprotokollet

Vad är KRACK? Hur KRACK bröt WPA2 WiFi-säkerhetsprotokollet

Forskaren Mathy Vanhoef från universitetet i Leuven har upptäckt en allvarlig säkerhetsbrist i nätverkssäkerhetsprotokollet Wi-Fi Protected Access II (WPA2).

Vanliga frågor om standardlösenord

Vanliga frågor om standardlösenord

I dagens artikel kommer Quantrimang att sammanfatta några vanliga frågor om standardlösenord för att hjälpa läsarna att svara på frågor relaterade till detta problem.

Varför använda CyberGhost VPN?

Varför använda CyberGhost VPN?

Vad du behöver är en VPN – vilket gör de olika alternativen enkla, och CyberGhost VPN är en av de bästa VPN:erna när det kommer till enkelhet.

Top 3 multicloud säkerhetsutmaningar och hur man bygger en strategi

Top 3 multicloud säkerhetsutmaningar och hur man bygger en strategi

Ett antal bästa metoder för säkerhet har dykt upp i och med framväxten av multimolnmiljöer, och det finns några viktiga steg som alla organisationer bör ta när de utvecklar sina egna säkerhetsstrategier.

Installera dynamiska skärmar och animerade bakgrundsbilder på Windows

Installera dynamiska skärmar och animerade bakgrundsbilder på Windows

I Microsofts Windows Vista operativsystem tillät DreamScene att ställa in dynamiska bakgrunder för datorer, men åtta år senare är det fortfarande inte tillgängligt på Windows 10. Varför har denna sed representerat en tillbakagång till det förflutna under åren, och vad kan vi göra för att ändra på detta?

Hur man ansluter nätverket mellan 2 bärbara datorer med en nätverkskabel

Hur man ansluter nätverket mellan 2 bärbara datorer med en nätverkskabel

Om vi ​​vill koppla två bärbara datorer till nätverket kan vi använda en nätverkskabel och sedan ändra IP-adresserna på de två datorerna och det är det.

Så här fixar du Du har inte behörighet att spara på den här platsen i Windows

Så här fixar du Du har inte behörighet att spara på den här platsen i Windows

När Windows visar felet "Du har inte behörighet att spara på den här platsen", kommer detta att hindra dig från att spara filer i önskade mappar.

Topp bästa gratis och betalda Syslog Server-programvara för Windows

Topp bästa gratis och betalda Syslog Server-programvara för Windows

Syslog Server är en viktig del av en IT-administratörs arsenal, särskilt när det gäller att hantera händelseloggar på en centraliserad plats.

Vad är Error 524 A Timeout inträffade och hur man åtgärdar felet

Vad är Error 524 A Timeout inträffade och hur man åtgärdar felet

Fel 524: En timeout inträffade är en Cloudflare-specifik HTTP-statuskod som indikerar att anslutningen till servern stängdes på grund av en timeout.