Kaj je skriptiranje med spletnimi mesti?

click fraud protection

Eden najpogostejših razredov ranljivosti na spletnih mestih se imenuje "Cross-Site Scripting" ali "XSS". Ranljivosti XSS so tiste, kjer lahko uporabnik povzroči izvajanje JavaScripta. Obstaja več različnih različic ranljivosti XSS z različnimi stopnjami resnosti.

Težava pri tem, da lahko napadalec izvaja JavaScript v sejah drugih uporabnikov, je v tem, da lahko napadalec na spletnem mestu naredi kar koli, kar vidijo žrtve. To vključuje preusmerjanje žrtev na zunanja spletna mesta, krajo žetonov za preverjanje pristnosti in spremljanje podrobnosti plačila.

Najhujša oblika ranljivosti XSS je "Shranjeno" ali "Vztrajno" skriptno skriptovanje med spletnimi mesti. mogoče je, da napadalec izdela koristno obremenitev XSS in jo nato odda, tako da se shrani v bazo podatkov. Z izkoriščanjem XSS, shranjenim v bazi podatkov, je potem možno, da vpliva na druge uporabnike v daljšem časovnem obdobju.

Druga oblika skriptov med spletnimi mesti je »Odraz«, ta vrsta se nikdar ne shrani, namesto tega je koristna obremenitev vključena v brskalnik. Običajno je ta vrsta XSS del napadov z lažnim predstavljanjem, kjer napadalec poskuša pretentati žrtev, da klikne zlonamerno povezavo.

Na splošno ima večina napadov XSS koristno obremenitev na neki točki poslano strežniku, nekateri napadi pa so izključno na strani odjemalca, ki se nikoli ne pošlje strežniku in namesto tega vpliva samo na odjemalsko stran JavaScript. To se imenuje XSS, ki temelji na DOM, saj ostane v objektnem modelu dokumenta JavaScript ali DOM. To vrsto ranljivosti je še posebej težko prepoznati in odpraviti, ker strežnik nikoli ne vidi izkoriščanja in jih zato ni mogoče zabeležiti.

V preteklosti je tehnika preprečevanja ranljivosti XSS filtriranje vseh podatkov, ki jih je predložil uporabnik, z uporabo seznamov blokov za zavrnitev vseh sporočil s smiselnimi znaki ali besedami v JavaScriptu. To je običajno vodilo v oborožitveno tekmo pri iskanju obvodov za filter, hkrati pa je preprečilo nekatere zakonite predložitve uporabnikov. Pravilna rešitev je uporaba entitet HTML za kodiranje podatkov, ki jih je predložil uporabnik. z omogočenimi moduli entitet HTML se znaki samodejno kodirajo v obliko, v kateri brskalnik ve, da jih prikaže kot pravilne simbole, ne pa jih obravnava kot kodo.