Útočný JavaScript (10)

Zdroj: SOOM.cz [ISSN 1804-7270]
Autor: .cCuMiNn.
Datum: 24.3.2011
Hodnocení/Hlasovalo: 1.57/23

Ač se to může zdát zvláštní, je pomocí JavaScriptu možné vytvořit i keylogger, který bude zaznamenávat stisknuté klávesy. Nemyslete si ale, že se bude jednat o běžný keylogger, který znáte z prostředí OS, a který vám umožní zjistit přístupové heslo do systému.

Pomocí JavaScriptu, který je vložen do obsahu HTML dokumentu, je ale možné zaznamenávat klávesy stisknuté pouze v rámci dokumentu, ve kterém je umístěn. Pokud se vám ale podaří injektovat jeho kód na stránku s přihlašovacím formulářem, zaručeně tak můžete získat přístupové údaje uživatelů k napadené webové aplikaci.

Kód skriptu je velice jednoduchý. Spočívá v zachytávání a ošetřování událostí onKeyPress a postupné ukládání stisknutých kláves do bufferu, který je tvořen proměnnou keylog. Ve chvíli, kdy buffer obsahuje 10 znaků, nebo je stisknuta klávesa enter, dojde k odeslání získaného řetězce na webový server útočníka.

V uvedeném skriptu využívám pro odeslání dat vlastnosti src u obrázku. Samozřejmě je ale možné využít i jiné techniky, například XMLHttpRequest apd.



Na straně útočníka pak naslouchá skript save.php, jehož cílem je obdržené části textu ukládat pro pozdější použití. Pokud byste nevěděli, jak takový skript vytvořit, nebo se vám s ním nechtělo dělat (i když by byl velice triviální), můžete využít i zdejšího projektu GET2MAIL, který vám aplikaci na straně serveru výborně zastoupí.

Pro představu o dalším využití, je možné keyloggery v JavaScriptu vložit také do action scriptu flashových animací. Pokud se vám podaří přesvědčit oběť, aby si váš flashový banner (obsahující podobný keylogger) umístila na své webové stránky, dokážete si asi představit následky...