Põhiline erinevus XSS-i ja CSRF-i vahel on see, et XSS-is (või saidiüleses skriptimises) aktsepteerib sait pahatahtlikku koodi, samas kui CSRF-is (või saidiülese päringu võltsimises) salvestatakse pahatahtlik kood kolmandasse pidude saidid. XSS on teatud tüüpi arvutiturbe haavatavus veebirakendustes, mis võimaldab ründajatel sisestada kliendipoolseid skripte veebilehtedele, mida teised kasutajad vaatavad. Teisest küljest on CSRF teatud tüüpi häkkeri või veebisaidi pahatahtlik tegevus, mis edastab volitamata käske, mida kasutaja veebirakendus usaldab.
Veebiarendus on veebisaidi programmeerimine vastav alt kliendi nõudmistele. Iga organisatsioon haldab veebisaite. Need veebisaidid aitavad äri parandada ja kasumit teenida. Samal ajal võivad esineda ohud, mis mõjutavad veebisaidi funktsionaalsust. Kaks neist on XSS ja CSRF.
Mis on XSS?
XSS on koodi sisestamise rünnak, mis süstib veebisaidile pahatahtlikku koodi. See on üks levinumaid veebisaitide rünnakuid. See võib mõjutada veebisaiti ja võib mõjutada ka selle veebisaidi kasutajaid. Teisisõnu, kui veebisaidil on XSS-rünnak, käivitab brauser selle koodi selle veebisaidi kasutajates.
Joonis 01: XSS Attack
Üks levinud keel XSS-i jaoks pahatahtliku koodi kirjutamiseks on JavaScript. XSS võib varastada kasutaja küpsiseid. See võib muuta veebilehte nii, et see näeks välja ja käituks erinev alt. Lisaks võib see kuvada allalaaditud pahavara ja muuta kasutaja seadeid.
XSS-rünnakuid on kahte tüüpi. Neid nimetatakse püsivateks ja mittepüsivateks. Pideva XSS-rünnaku korral salvestatakse pahatahtlik kood veebisaidi andmebaasi. Kasutaja võib sellele juurdepääsu teadmata. Mittepüsivat XSS-i rünnakut nimetatakse ka Reflected XSS-iks. See saadab pahatahtliku skripti HTTP-päringuna. Need on XSS-i kaks peamist tüüpi.
Mis on CSRF?
Veebisaidil on kliendi- ja serveripool. Veebilehed, vormid on kliendi poolel. Serveripool sooritab toimingu, kui kasutaja tegutseb. Serveripool saab päringuid ka teistelt veebisaitidelt.
CSRF-rünnak meelitab kasutajat suhtlema kolmanda osapoole saidil oleva lehe või skriptiga. See genereerib kasutaja saidile pahatahtliku päringu. Kuid server eeldab, et see on volitatud veebisaidi päring. Kui kasutaja sellega nõustub, saab ründaja päringus saadetud andmete abil kontrolli üle võtta.
Üks näide on järgmine. Kasutaja logib sisse oma pangakontole. Pank annab talle seansimärgi. Häkker võib petta kasutajat klõpsama pangale viitaval võltslingil. Kui kasutaja klõpsab lingil, kasutab ta eelmise seansi tunnust. Seejärel täidetakse häkkeri taotlus ja kasutajakontole häkitakse. Ta saab oma kontolt raha kanda. Taotlus pangale on võltsitud, kuna see kasutab sama kasutaja seansi tunnust. Üldiselt on oluline teada, kuidas veebisaiti veebiarenduses CSRF-i rünnakute eest kaitsta.
Mis vahe on XSS-il ja CSRF-il?
XSS tähistab Cross Site Scripting ja CSRF tähistab Cross Site Request Forgery. XSS on teatud tüüpi arvutiturbe haavatavus veebirakendustes, mis võimaldab ründajatel sisestada kliendipoolseid skripte veebilehtedele, mida teised kasutajad vaatavad. CSRF on teatud tüüpi häkkeri või veebisaidi pahatahtlik tegevus, mis edastab volitamata käske, mida kasutaja veebirakendus usaldab. Samuti nõuab XSS pahatahtliku koodi kirjutamiseks JavaScripti, samas kui CSRF ei vaja JavaScripti.
Lisaks võtab sait XSS-is vastu pahatahtliku koodi, samas kui CSRF-is salvestatakse pahatahtlik kood kolmandate osapoolte saitidele. See on peamine erinevus XSS-i ja CSRF-i vahel. Tavaliselt on XSS-i rünnaku suhtes haavatav sait haavatav ka CSRF-i rünnaku suhtes. XSS-i eest kaitstud sait võib siiski olla CSRF-i rünnakute suhtes haavatav.
Kokkuvõte – XSS vs CSRF
XSS ja CSRF on kahte tüüpi veebisaidile suunatud rünnakud. XSS tähistab Cross Site Scripting, CSRF aga Cross Site Request Forgery. XSS-i ja CSRF-i erinevus seisneb selles, et XSS-is aktsepteerib sait pahatahtlikku koodi, samas kui CSRF-is salvestatakse pahatahtlik kood kolmandate osapoolte saitidele.