Obsah

¨

Clickjacking

Clickjacking je útok na uživatelské rozhraní, který zneužívá důvěry uživatele v legální webovou stránku. Cílem je přimět uživatele k provedení akce, kterou by dobrovolně neudělal – například ke smazání účtu, odeslání peněz, změně hesla nebo k udělení přístupu k webové kameře.

Název vznikl spojením slov „click“ (kliknutí) a „hijacking“ (únos).


Jak Clickjacking funguje?

Útočník vytvoří neviditelnou past pomocí HTML a CSS:

1. **Návnada:** Útočník vytvoří lákavou stránku (např. "Vyhráli jste iPhone, klikněte zde").
2. **Neviditelný rám:** Do této stránky vloží legitimní web (např. nastavení Facebooku nebo internetové bankovnictví) pomocí prvku ''<iframe>''.
3. **Průhlednost:** Pomocí CSS (vlastnost ''opacity: 0'') učiní legitimní web zcela neviditelným a umístí jej přesně nad tlačítko "návnady".
4. **Interakce:** Uživatel se snaží kliknout na "Výhru", ale ve skutečnosti jeho kliknutí směřuje do neviditelného rámu na tlačítko "Potvrdit transakci".

Typy Clickjacking útoků


Obrana proti Clickjackingu

Existují dva hlavní způsoby, jak se jako majitel webu bránit:

1. HTTP hlavička X-Frame-Options

Tato starší, ale stále účinná metoda říká prohlížeči, zda smí být stránka zobrazena v rámu:

2. Content Security Policy (CSP)

Moderní a flexibilnější metoda využívající direktivu frame-ancestors, která nahrazuje X-Frame-Options:

Content-Security-Policy: frame-ancestors 'self';

Tento příkaz povolí vkládání stránek do rámů pouze vlastnímu webu.


Historický kontext: Frame Busting

Před zavedením standardů jako CSP se vývojáři bránili pomocí JavaScriptu (tzv. „Frame Busting“ skripty). Tyto skripty kontrolovaly, zda je okno prohlížeče „hlavní“, a pokud ne, pokusily se rám rozbít. Tato metoda je však dnes považována za nespolehlivou, protože útočníci se naučili tyto skripty vypínat nebo obcházet.


Související pojmy: Content Security Policy (CSP), OWASP, XSS, HTTP, Iframe, Sociální inženýrství.