Co je skriptování mezi weby (XSS) a proč je to bezpečnostní hrozba

  • Harry James
  • 0
  • 2928
  • 630
reklama

Chyby zabezpečení skriptování mezi weby jsou dnes největším problémem zabezpečení webových stránek. Studie zjistily, že jsou šokově běžné - podle poslední zprávy White Hat Security, vydané v červnu 2012, 55% webů obsahovalo zranitelnosti XSS, vydané v červnu 2012. Zatímco většina lidí slyšela o počítačových virech Stručná historie 5 nejhorších počítačových virů Celá doba Stručná historie 5 nejhorších počítačových virů všech dob Slovo „virus“ a jeho spojení s počítači bylo připojeno americkým počítačovým vědcem Frederickem Cohenem, který jej používal k popisu „programu, který může„ infikovat “jiné programy jejich úpravou aby zahrnoval možné… a další takové problémy, zranitelnost XSS zůstává průměrnému člověku neznámá.

Zranitelnost skriptování mezi weby umožňuje útočníkovi spustit libovolný kód JavaScript (z jiného webu) na webové stránce. Kód se spustí na webové stránce v prohlížeči uživatele.

Příklad - Twitter StalkDaily Worm

Pojďme se podívat na útok XSS, ke kterému došlo v minulosti na Twitteru. V roce 2009 červ StalkDaily Jaký je rozdíl mezi červem, trojským koněm a virem? [MakeUseOf vysvětluje] Jaký je rozdíl mezi červem, trojským koněm a virem? [MakeUseOf vysvětluje] Někteří lidé nazývají jakýkoli typ škodlivého softwaru „počítačovým virem“, ale to není přesné. Viry, červy a trojské koně jsou různé typy škodlivého softwaru s různým chováním. Zejména se šířili velmi ... rozmnoženými skrz Twitter. Když uživatel Twitteru navštívil stránku profilu infikovaného uživatele, infikovala se také jeho stránka profilu, čímž se červ rozšířil. Červ také odeslal tweety z každého infikovaného účtu.

Jak přesně tedy fungoval červ StalkDaily? Napadl někdo webové servery Twitteru? Ne tak docela - ačkoli to byl druh hacku.

Každý uživatel Twitteru může na své stránce profilu nastavit krátký životopis. Uživatelé zadají text do rámečku profilu a jakmile profil uloží, zobrazí se na stránce profilu. Někdo si uvědomil, že Twitter řádně dezinfikoval textový vstup z bio boxu (k tomu se dostaneme později) - pouze umístil text, který uživatelé zadali přímo do zdrojového kódu webové stránky. To umožnilo uživateli zadat značku HTML, která načte soubor JavaScript z webového serveru třetí strany.

Když jiný uživatel Twitteru navštívil infikovanou stránku profilu, jeho prohlížeč načíst skript. Skript měl plný přístup ke všemu oficiálnímu kódu Twitteru použitému na stránce - takže skript mohl požádat o soubor cookie uživatele uživatele Twitter (který ukládá stav přihlášení uživatele) a uživatelské jméno z prohlížeče. Skript poté tyto informace odeslal zpět na webový server třetí strany. S těmito údaji by se webový server třetí strany mohl autentizovat jako uživatel Twitteru, upravovat biograf uživatele tak, aby šířil červa, a odesílat tweety z uživatelského účtu.

Jak vývojáři mohou zabránit útokům XSS

Jedno jednoduché pravidlo umožňuje vývojářům webových stránek Jak zjistit, zda je někdo dobrý webový vývojář pro váš projekt Jak zjistit, jestli je někdo dobrý webový vývojář pro váš projekt Vybrání někoho, kdo pro vás vytvoří web, není snadný úkol. I když nestavíte další Gmail, měli byste dělat věci hned poprvé. Ale výběr dobrého…, aby se zabránilo útokům skriptování mezi weby: Nevěřte žádným vstupům, které přicházejí od uživatelů. Například v případě Twitteru by neměli důvěřovat uživatelům textu zadaným do jejich bio boxů. Twitter měl vzít text a “dezinfikováno” nebo “unikl” to - například, by měla být změněna nao