¨
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).
Ú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".
Existují dva hlavní způsoby, jak se jako majitel webu bránit:
Tato starší, ale stále účinná metoda říká prohlížeči, zda smí být stránka zobrazena v rámu:
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.
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í.