8. 7. 2013

Špatně ošetřená funkce přesměrování webových stránek může být využita útočníky ke škodlivé činnosti. Tato zranitelnost se týká i stránek takových společností, jako jsou CNN, Yahoo nebo Ask.

Metoda open redirect využívá funkce přesměrování webových stránek a nikoli jednoduché chyby nebo zranitelná místa v zabezpečení. Cílem šiřitelů nežádoucího obsahu je využít ověřenou doménu jako přechodnou vstupní stránku a zmást uživatele nebo vyhledávače, aby použili odkazy, které zdánlivě odkazují na ověřené stránky, ale ve skutečnosti je přesměrují na útočníkem ovládané stránky. Chyba stránky umožňuje webové aplikaci akceptovat uživatelský vstup, který obsahuje odkaz na externí stránky, a používá tento odkaz na přesměrování. URL adresa, na kterou webová aplikace přesměruje požadavek prohlížeče, může kromě spamu obsahovat i malware. Ten může následně ohrozit počítač uživatele a vystavit ho riziku zachytávání citlivých údajů, odcizení přihlašovacích, osobních, nebo jiných důležitých údajů a dalších útoků. Uživatel může být vystaven také phishingovým útokům a přesměrován na nedůvěryhodné stránky, které se jeví jako známý a důvěryhodný web. Na takovýchto stránkách pak může dojít ze strany útočníka k získání údajů k internetovým službám (internetové bankovnictví, sociální služby…) a ty pak použít pro přístup na legitimní webové stránky.

Příklad podvržené adresy pro přesměrování uživatele na škodlivou stránku: http://example.com/example.php?url=http://malicious.example.com

Využitím zranitelnosti webových stránek známých společností a metody open redirect tak spameři řeší několik problémů najednou:

  • využívají důvěry potenciálních obětí ve jména známých společností,
  • obejdou systémy filtrující přístupy na spamové stránky, protože požadavek na přístup pochází od velmi známého a prověřeného zdroje

Princip metody je nezávislý na platformě kódu použitého pro tvorbu webových stránek a může být využit v jazyce PHP, v Java Servletu nebo HTML.

Jako praktický případ můžeme použít špatně ošetřené stránky společnosti CNN, kdy pomocí metody open redirect přesměrovali útočníci uživatele služby Twitter místo na stránky CNN na reklamní stránky produktu na zázračnou dietu. S využitím služby Twitter šířili v příspěvku (tweet) odkaz, který vypadá jako odkaz na článek na stránkách seriózní společnosti CNN o přípravku na dietu (např.: hxxx://cgi.cnn.com/cgi-bin/redir?URL=hxxx://tumblrhealth.me). Uživatel vidí odkaz směřující na původní důvěryhodné stránky (cgi.cnn.com) a neuvědomuje si přesměrování, ke kterému může dojít. Útočníci zároveň zmiňují v příspěvcích různé známé osobnosti a doufají, že některé z nich zprávu s vědomím, že pochází od seriózního zdroje přepošlou (retweet) do svého streamu. Jako např. rapper 50Cent provedl retweet příspěvku o dietě k jeho 7,6 milionu následovníkům.

some tweet shot  50cent retweet 

Otevřená přesměrování jako taková nelze považovat za chyby nebo nedostatky zabezpečení. V některých případech je nutné ponechat je otevřená. Proto je důležité, aby webmasteři zajistili, že jejich stránky nebudou zneužívány tímto způsobem a uživatelé měli důvěru, že navštívili bezpečně napsanou a odladěnou stránku. Naneštěstí neexistuje snadný způsob, jak zajistit, že přesměrování nebudou zneužívána. Lze uplatnit několik opatření, která zabrání zneužití stránek nebo jej alespoň ztíží, např.:

  • napsat vlastní kód nebo žádat dodavatele, aby vydal opravu.
  • změnit kód přesměrování tak, aby prověřoval odkazující server.
  • uživatelé by měli na přesměrovávací skript přecházet z vlastních stránek, nikoli z vyhledávačů nebo odjinud. Když byl uživatel přesměrován z externích stránek, může být zastaven nebo varován.
  • zajistit aby skript přesměroval uživatele pouze na interní stránky nebo soubory (například na stránce se stahováním souborů), mělo by být zakázáno přesměrování mimo vlastní stránky.
  • využít možnost vlastní přesměrování podepsat. Jestliže je nezbytně nutné přesměrovávat adresy URL, může se cílovou adresa URL přepočítat algoritmem hash a při přesměrování pak daný kryptografický podpis zahrnout jako další parametr.
  • pokud stránky přesměrování nevyužívají, deaktivujte ho nebo odeberte. Např. označení „nofollow“ (hodnota nofollow atributu rel) představuje způsob, jak mohou správci webu dát vyhledávačům pokyn „Nesledovat odkazy na této stránce“ či „Nesledovat tento konkrétní odkaz“.
  • pomocí souboru robots.txt lze vyloučit vyhledávače ze skriptů přesměrování na stránkách. Problém se tím zcela nevyřeší, útočníci budou moci doménu i nadále používat pro šíření spamu prostřednictvím e-mailu. Útočníci nebudou moci uživatele zmást prostřednictvím výsledků vyhledávání na webu. Pokud se skripty přesměrování nachází ve stejné podsložce jako ostatní skripty, které není třeba zobrazovat ve výsledcích vyhledávání, můžete šiřitelům nežádoucího obsahu ještě více ztížit nalezení skriptů přesměrování, a to tak, že z vyhledávačů vyloučíte celou podsložku.
  • k odebrání adres URL lze použít také nástroje pro webmastery.

zdroje:
http://www.hotforsecurity.com/blog/twitter-spam-campaign-exploits-cnn-vulnerability-6384.html
https://support.google.com/webmasters/answer/171297?hl=cs
https://support.google.com/webmasters/answer/96569?hl=cs