Web9: Vrste iskorištavanja XSS-a - 3. dio: XSS temeljen na Domu

Web9: Vrste iskorištavanja XSS-a - 3. dio: XSS temeljen na Domu

Već smo spomenuli dvije vrste XSS exploita : reflektirani i pohranjeni. Svi imaju zajedničko svojstvo da će se opasni kod, nakon umetanja, izvršiti nakon odgovora poslužitelja, što znači da je pogreška na strani poslužitelja. poslužitelj. poslužitelj. Postoji još jedan tip iskorištavanja XSS-a koji je u suprotnosti s ovom značajkom, zlonamjerni kod se izvršava odmah na strani klijenta bez prolaska kroz poslužitelj, poznat kao XSS temeljen na DOM-u ili također poznat kao XSS tipa 0.

Prije svega moramo znati što je DOM?

DOM, kratica za Document Object Model, standardni je oblik W3C-a (http://www.w3.org/DOM/) predložen za dohvaćanje i manipuliranje podacima strukturiranih dokumenata kao što su HTML i XML. Ovaj model predstavlja dokumente kao strukturu hijerarhijskog stabla. Svi elementi u HTML-u i XML-u smatraju se čvorom.

XSS temeljen na DOM-u je tehnika iskorištavanja XSS-a koja se temelji na promjeni DOM strukture dokumenta, posebno HTML-a.

Pogledajmo konkretan primjer u nastavku:

Web stranica ima sljedeći URL do stranice za registraciju:

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

Kada mu pristupimo, vidimo vrlo normalan obrazac:

Web9: Vrste iskorištavanja XSS-a - 3. dio: XSS temeljen na Domu

Lako možete zaključiti koji je parametar poruke proslijeđen u sadržaj obavijesti na obrascu, pažljivo pogledajte izvorni kod ove obavijesti:

Web9: Vrste iskorištavanja XSS-a - 3. dio: XSS temeljen na Domu

JavaScript segment odgovoran je za dobivanje vrijednosti iz parametra poruke i njezin ispis. Iz ove slabe provjere unosa sasvim je moguće prevariti korisnike da pristupe opasnim URL-ovima.

Umjesto lijevanja:

message=Please fill in the form

zatim prenesite:

message=GenderMaleFemale

function show(){alert();}

Tada će obrazac za registraciju izgledati ovako:

Web9: Vrste iskorištavanja XSS-a - 3. dio: XSS temeljen na Domu

Korisnicima neće biti sumnjiva ovakva "normalna" forma, a prilikom odabira spola izvršit će se skripta:

Web9: Vrste iskorištavanja XSS-a - 3. dio: XSS temeljen na Domu

Objasnit ću nešto više o vrijednosti proslijeđenoj u parametru poruke:

GenderMaleFemale

function show(){alert();}

Njegova glavna svrha je izvršiti funkciju show() svaki put kada postoji onchage događaj na oznaci odabira. Funkcija show() ovdje jednostavno iskoči da pokaže da je skripta izvršena. Međutim, u stvarnosti, hakeri će često koristiti ovu funkciju show() za izvršavanje skripte koja prenosi vrijednost korisničkog kolačića unaprijed određenom poslužitelju. Čitatelji mogu pregledati članak Reflected XSS koji spominje kako hakeri stvaraju Kako izgleda ovaj zahtjev?

Ovaj nam primjer daje dva važna zaključka. Prvo, zlonamjerni kod je izvršen odmah nakon klika na vrijednost u oznaci za odabir, što znači da je izvršen na strani klijenta bez prolaska kroz odgovor poslužitelja. Drugo, HTML struktura je promijenjena s proslijeđenom skriptom. Također možemo vidjeti stvarni scenarij iskorištavanja, DOM Based je nešto sličniji Reflected nego Stored XSS-u kada se radi o prijevari korisnika da pristupe URL-u s ugrađenim zlonamjernim kodom.

Sljedeća slika opisuje svaki korak u implementaciji tehnike XSS napada temeljene na DOM-u:

Web9: Vrste iskorištavanja XSS-a - 3. dio: XSS temeljen na Domu

Ispod je videozapis člana foruma WhiteHat.vn koji izvodi exploit kroz XSS temeljen na DOM-u:

Sretno!


Što je TeamViewer?

Što je TeamViewer?

TeamViewer je poznato ime mnogim ljudima, posebno onima koji redovito koriste računala i rade na polju tehnologije. Dakle, što je TeamViewer?

Kako prikazati instalirane upravljačke programe u sustavu Windows (PowerShell CMD)

Kako prikazati instalirane upravljačke programe u sustavu Windows (PowerShell CMD)

Ako trebate znati koji su upravljački programi instalirani u vašem sustavu, evo jednostavne PowerShell naredbe za dobivanje popisa instaliranih upravljačkih programa u sustavu Windows.

Zelene pozadine, prekrasne zelene pozadine za računala i telefone

Zelene pozadine, prekrasne zelene pozadine za računala i telefone

Zeleno je također tema koju mnogi fotografi i dizajneri koriste za izradu setova tapeta s glavnim tonom zelene boje. Ispod je set zelenih pozadina za računala i telefone.

Kako pronaći i otvoriti datoteke pomoću naredbenog retka

Kako pronaći i otvoriti datoteke pomoću naredbenog retka

Kaže se da je ova metoda pretraživanja i otvaranja datoteka brža od korištenja File Explorera.

Što je Scareware? Kako ukloniti Scareware?

Što je Scareware? Kako ukloniti Scareware?

Scareware je zlonamjerni računalni program osmišljen kako bi prevario korisnike da misle da je to legitimna aplikacija i traži od vas da potrošite novac na nešto što ne radi ništa.

Kako povećati brzinu internetske veze s cFosSpeedom

Kako povećati brzinu internetske veze s cFosSpeedom

cFosSpeed ​​​​je softver koji povećava brzinu internetske veze, smanjuje latenciju prijenosa i povećava snagu veze do otprilike 3 puta. Osobito za one koji igraju online igre, cFosSpeed ​​​​će podržati kako biste mogli iskusiti igru ​​bez ikakvih problema s mrežom.

Saznajte više o vatrozidima, Vatrozid za Windows na Windows Serveru 2012

Saznajte više o vatrozidima, Vatrozid za Windows na Windows Serveru 2012

Vatrozid za Windows s naprednom sigurnošću je vatrozid koji radi na Windows Serveru 2012 i omogućen je prema zadanim postavkama. Postavkama vatrozida u sustavu Windows Server 2012 upravlja se u Windows Firewall Microsoft Management Console.

Kako promijeniti lozinku za prijavu na modem i ruter Vigor Draytek

Kako promijeniti lozinku za prijavu na modem i ruter Vigor Draytek

Prilikom promjene lozinke administratorske stranice za prijavu modema i usmjerivača Vigor Draytek, korisnici će ograničiti neovlašteni pristup za promjenu lozinke modema, osiguravajući važne informacije o mreži.

Kako jednostavno overclockati RAM uz AMD Ryzen Master

Kako jednostavno overclockati RAM uz AMD Ryzen Master

Srećom, korisnici Windows računala s AMD Ryzen procesorima mogu koristiti Ryzen Master za jednostavno overclockiranje RAM-a bez diranja BIOS-a.

7 načina za ispravljanje grešaka na Windows laptopu koji se ne puni preko USB-C

7 načina za ispravljanje grešaka na Windows laptopu koji se ne puni preko USB-C

USB-C priključak postao je standard za prijenos podataka, video izlaz i punjenje na modernim Windows prijenosnim računalima. Iako je to zgodno, može biti frustrirajuće kada prijenosno računalo priključite na USB-C punjač, ​​a ono se ne puni.