Klíčový rozdíl mezi XSS a CSRF spočívá v tom, že v XSS (nebo Cross Site Scripting) stránka přijímá škodlivý kód, zatímco v CSRF (nebo Cross Site Request Forgery) je škodlivý kód uložen ve třetí stranické stránky. XSS je typ chyby zabezpečení počítače ve webových aplikacích, která útočníkům umožňuje vkládat skripty na straně klienta do webových stránek prohlížených jinými uživateli. Na druhou stranu, CSRF je druh škodlivé činnosti hackera nebo webové stránky, která přenáší neautorizované příkazy, kterým bude věřit webová aplikace uživatele.
Vývoj webu je proces naprogramování webu podle požadavků klienta. Každá organizace provozuje webové stránky. Tyto webové stránky pomáhají zlepšit podnikání a získat zisk. Zároveň se mohou vyskytovat hrozby, které ovlivňují funkčnost webu. Dva z nich jsou XSS a CSRF.
Co je XSS?
XSS je útok vložením kódu, který vkládá škodlivý kód do webové stránky. Je to jeden z nejčastějších útoků na webové stránky. Může mít vliv na webovou stránku a také na uživatele této webové stránky. Jinými slovy, když na webu dojde k útoku XSS, spustí se tento kód v uživatelích tohoto webu prohlížečem.
Obrázek 01: XSS útok
Jedním společným jazykem pro psaní škodlivého kódu pro XSS je JavaScript. XSS může ukrást soubory cookie uživatele. Může upravit webovou stránku tak, aby vypadala a chovala se jinak. Kromě toho může zobrazovat stahování malwaru a měnit uživatelská nastavení.
Existují dva typy útoků XSS. Říká se jim perzistentní a neperzistentní. Při přetrvávajícím XSS útoku je škodlivý kód uložen v databázi webu. Uživatel k němu může přistupovat bez jakéhokoli vědomí. Neperzistentní útok XSS se také nazývá Reflected XSS. Odešle škodlivý skript jako požadavek HTTP. To jsou dva hlavní typy v XSS.
Co je CSRF?
Na webu existuje strana klienta a strana serveru. Webové stránky, formuláře jsou na straně klienta. Strana serveru provede akci, když uživatel jedná. Strana serveru dostává požadavky i z jiných webů.
Útok CSRF přiměje uživatele k interakci se stránkou nebo skriptem na webu třetí strany. Vygeneruje škodlivý požadavek na web uživatele. Server ale předpokládá, že jde o požadavek od autorizovaného webu. Když jej uživatel přijme, může útočník převzít kontrolu nad použitím dat odeslaných v žádosti.
Jeden příklad je následující. Uživatel se přihlásí ke svému bankovnímu účtu. Banka mu poskytne token relace. Hacker může uživatele oklamat, aby klikl na falešný odkaz, který ukazuje na banku. Když uživatel klikne na odkaz, použije token předchozí relace. Poté se požadavek hackera provede a uživatelský účet je hacknut. Může převádět peníze ze svého účtu. Požadavek do banky je zfalšován, protože používá stejný token relace uživatele. Celkově je důležité vědět, jak chránit web před CSRF útokem při vývoji webu.
Jaký je rozdíl mezi XSS a CSRF?
XSS znamená Cross Site Scripting a CSRF znamená Cross Site Request Forgery. XSS je typ chyby zabezpečení počítače ve webových aplikacích, která útočníkům umožňuje vkládat skripty na straně klienta do webových stránek prohlížených jinými uživateli. CSRF je druh škodlivé činnosti hackera nebo webové stránky, která přenáší neautorizované příkazy, kterým bude webová aplikace uživatele důvěřovat. XSS také vyžaduje JavaScript k zápisu škodlivého kódu, zatímco CSRF JavaScript nevyžaduje.
V XSS navíc stránka přijímá škodlivý kód, zatímco v CSRF je škodlivý kód uložen na stránkách třetích stran. To je hlavní rozdíl mezi XSS a CSRF. Obvykle je web, který je zranitelný útokem XSS, zranitelný také útokem CSRF. Web, který má ochranu před XSS, však může být zranitelný vůči útokům CSRF.
Shrnutí – XSS vs CSRF
XSS a CSRF jsou dva typy útoků na web. XSS znamená Cross Site Scripting, zatímco CSRF znamená Cross Site Request Forgery. Rozdíl mezi XSS a CSRF je v tom, že v XSS web přijímá škodlivý kód, zatímco v CSRF je škodlivý kód uložen na webech třetích stran.