Clickjacking – praktická ukážka, ako ukradnúť vaše kliknutie na webe

Andrej Probst, 23. júl 2015, Bezpečnosť, čítalo 2180 ľudí

Pred pár dňami mnoho slovenských užívateľov Facebooku začalo hromadne šíriť niekoľko videí bez toho, že by chceli tieto videá zdieľať so svojimi kamarátmi na Facebooku. Videá užívateľov zaujali, chceli si ich prezrieť, aj si ich pozreli, ale zároveň ich nevedomky nezdieľali na svojom účte. Stali sa obeťou útočníka, ktorý ukradol ich kliknutie na video. Odborne sa tento útok nazýva clickjacking a my si ukážeme na praktikom príklade, ako funguje.

Clickjacking - Mexiko má najkrajšiu rosničku
Clickjacking na Facebooku

Clickjacking je ukradnutie kliku, kedy užívateľ po kliknutí na nejaké miesto na internetovej stránke spustí akciu, o ktorej si nie je vedomí a zrejme by tú akciu ani vedome nespúšťal. Útočník využíva niekoľko vlastností zobrazovania objektov na webovej stránke:

  • určenie polohy objektu na stránke,
  • priehľadnosť objektu.

Stačí vytvoriť dva objekty:

  • Prvý objekt bude zobrazený na webovej stránke a užívateľ ho celý uvidí.
  • Druhý objekt bude úplne priehľadný, bude prekrývať prvý objekt a bude umiestnený nad prvý objekt.

Praktická ukážka

Vytvoríme dva objekty. Prvý objektom bude zelený štvorec s tlačidlom AAA, keď naň kliknete, zobrazí sa pop up okno s hláškou AAA. Druhý objekt bude modrý štvorec s tlačidlom BBB, po stlačení sa zobrazí hláška BBB.

Druhý objekt spriehľadníme na 50 % a posunieme ho nad prvý objekt.v

Nakoniec druhý objekt úplne spriehľadníme a posunieme presne nad prvý objekt. Návštevník stránky vidí tlačidlo AAA a očakáva, že keď ho stlačí, zobrazí sa hláška AAA. Návštevník sa však mýli. K žiadnemu stlačeniu tlačidla AAA nedôjde, pretože nad ním je neviditeľné tlačidlo BBB, ktoré návštevník stlačí a zobrazí sa hláška BBB.

HTML kód

<div style="width:100px;height:100px;border:1px solid #050;background-color:#0f0; position:absolute; ">
  <input type="button" value="AAA" onclick="alert('AAA');" />
</div>
<div style="width:100px;height:100px;border:1px solid #005;background-color:#00f; position:absolute; opacity: 0;">
  <input type="button" value="BBB" onclick="alert('BBB');" />
</div>

K čomu clickjacking útočník používa?

Predstavte si, že miesto tlačidla BBB je Facebookové Like tlačidlo alebo Share tlačidlo. Takto nevedomky podporujete odkazy na FAcebooku niekoho cudzieho. Tlačidlo AAA v tomto prípade často vyzerá ako tlačidlo pre spustenie videa, alebo zrušenie reklamného odkazu.

Ako sa brániť voči clickjackingu?

Základné pravidlo znie, neklikať na podozrivé odkazy. Znie to jednoducho, už len správne odhadovať, čo sú podozrivé odkazy.

V prípade Facebooku odporúčame z času na čas skontrolovať Záznamy o aktivitách, či tam nepribudli zdieľania stránok, ktoré zdieľať nechcete a zdieľanie zrušili.

Stali ste sa niekedy obeťou clickjackingu? Na čo bol váš ukradnutý klik použitý?

Čo Ty na to?