Self Cross-Site Scripting

Lexikon webových zranitelností

zpět
Název: Self Cross-Site Scripting
Zařazení: Útoky proti uživatelům
Závažnost: -

Popis:

Zranitelnost Cross-Site Scripting je založena na možnosti spustit vlastní kód Javascriptu v kontextu cílové aplikace, čímž se obejdou restrikce bezpečnostní politiky Same Origin Policy. Kód Javascriptu spuštěný ve webovém prohlížeči uživatele pak může přistupovat k libovolnému obsahu, který se nachází na stejné doméně, jako spuštěný skript. Díky tomu může takový skript měnit uživateli před očima obsah zobrazené webové stránky, číst z domény důvěrná data, nebo může vyplňovat a odesílat obsažené formuláře.

Aby bylo možné injektovat skript na cílovou doménu, je nutné, aby aplikace nedostatečně validovala vstup/výstup uživatelských dat a umožnila tak útočníkovi vložit metaznaky, které budou mít spuštění injektovaného kódu na svědomí.

Ve chvíli, kdy aplikace validuje uživatelská data bezchybně a útočník tak nemůže najít žádné slabé místo, jež by spuštění jeho kódu umožňilo, přichází na řadu sociotechnický útok nazvaný Self Cross-Site Scripting. Během něj útočník přesvědčí svou oběť, aby sama vložila kód Javascriptu do adresního řádku prohlížeče, nebo do jeho konzole. Takto vložený skript totiž také poběží v kontextu domény právě načtené webové stránky.

V historii se vyskytly například útoky směřující na uživatele sociální sítě Facebook, které uživatele lákaly na možnost krádeže cizích uživatelských FB účtů po spuštění připraveného skriptu ve své prohlížeči.

Facebook: Self Cross-Site Scripting

Pro znemožnění útoků tohoto typu stačí nedůvěřovat všem informacím a nikdy nevkládat do adresního řádku browseru nebo do konzole kódy, o jejichž funkčnosti nemáte stoprocentní povědomí. Nezapomínejte také, že pokud kód kopírujete z webu, tak tento kód nemusí obsahovat pouze to, co na webové stránce vidíte, viz útok Fake Copy Content.