Moderní tvorba webových aplikací

O webu

Clickjacking na Facebooku

Jak funguje clickjacking na Facebooku a jak se proti němu bránit.

4 minuty

Tento útok je populární hlavně na Facebooku u jeho Like/To se mi líbí tlačítka. Spočívá v tom, že se útočníkovi povede, aby návštěvník udělil stránce Like, aniž by o tom věděl.

Docílí se toho celkem snadno.

  1. Na web se umístí typicky nějaké video s lákavým popiskem a náhledem.
  2. Do místa, kde se očekává, že nic netušící návštěvník klikne, se umístí Like tlačítko. Toto místo je zpravidla nějaké tlačítko Play.
  3. Tento Like box se využitím průhlednosti zneviditelní (maximálně zprůhlední).
  4. Nyní si uživatel zkusí pustit video, ale místo toho se kliknutí promítne do Like tlačítka.
  5. V případě, že video na stránce skutečně existuje a po dalším kliknutí se spustí, si člověk vůbec nemusí všimnout, že je stránka podvodná. A nevědomky udělené To se mi líbí tak útočníkovi zůstane.

Příklad takového videa – je možné pozorovat popisek To se mi libí, který pochází z neviditelného Like tlačítka.

Příklad clickjackingu

Živá ukázka zjednodušeného postupu clickjackingu.

Risika

Risika nachytání se nejsou příliš vysoká. Nejspíš vás maximálně někdo bude považovat za člověka, co kliká na každou ptákovinu.

Obrana

  1. Neklikat na podezřelé odkazy s šokujícími názvy.

  2. Když se dostaneme na takovou podezřelou stránku, podívat se před kliknutím, zda se při podržení myši nad videem neobjevuje popisek (title) z Like tlačítka.

  3. Po navštívení a kliknutí na něco na podezřelé stránce nebo čas od času si zkontrolovat Activity log/Záznamy o aktivitách, které jsou na stránce vlastního profilu vpravo dole nad cover obrázkem.

    Záznamy o aktivitách

  4. Stoprocentní, ale možná až nežádoucí obrana, je zablokovat všechna To se mi líbí tlačítka spolu s dalšími prvky Facebooku.

    Stačí zablokovat část URL *connect.facebook.net*.

Ochrana vlastních stránek

Tento útok je použitelný i pro jiné weby, než je Facebook. Ochrana z posice tvůrce webu / webové aplikace tkví v zakázání načítání stránky do rámů (většinou <iframe>) – je k tomu možné použít hlavičku X-FRAME-OPTIONS.

Řešení v PHP:

<?php
header('X-Frame-Options: SAMEORIGIN');
?>

Proč tohle Facebook nedělá? Protože je na načtení v <iframe> závislý. Kdyby se jeho obsah nenačítal v <iframe>, měl by útočník ještě víc možností ke zneužití.

Související články

Jak na Facebook Instant Articles

Instant Articles je technologie pro rychlé zobrazování obsahu na Facebooku. Jak začít?

8 minut

Náhled odkazu při sdílení na sociálních sítích

Jak upravit stránku, aby se hezky zobrazovala při sdílení na Facebooku a Twitteru.

8 minut

Počet sdílení na Facebooku a Twitteru

Jak pomocí API získat ve JSONu počet sdílení stránky na Facebooku a Twitteru.

4 minuty

Nepotvrzení přečtení zprávy na Facebooku

Jak zabránit, aby se příchozí zpráva na Facebooku označila jako přečtená.

4 minuty

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků
2013–2025