Clickjacking (4)

Zdroj: SOOM.cz [ISSN 1804-7270]
Autor: .cCuMiNn.
Datum: 18.9.2012
Hodnocení/Hlasovalo: 1/3

V tomto dílu seriálu, který je věnován clickjackingu, si kupodivu ani jednou neklikneme. Namísto toho se budeme snažit přesvědčit svou oběť, aby aktivně využila klávesnici a do formuláře, který ji podstrčíme, vyplnila věci, které pro ni budou mít nečekaný dopad.

V předchozích dílech jsem detailně popisoval práci s průhlednými rámy. Tentokrát se zaměříme na použití inverzní metody, během které budeme cílovou stránku, proti které je útočeno*, a kterou máme načtenu tentokrát v normálně viditelném rámu, překrývat dalšími neprůhlednými rámy. Na stránce tak zakryjeme všechny prvky napadené* webové stránky, které se nám nehodí do krámu, a necháme viditelné pouze ty, které se snažíme nějakým způsobem zneužít.

Tohoto postupu se nejčastěji používá právě u vstupních polí formulářů, u nichž si přejeme, aby je uživatel vyplnil námi předloženou hodnotou. Pojďme se na to tedy vrhnout. Naším dnešním cílem se stane pole pro přesměrování příchozích zpráv v našem testovacím Hack-me webmailu.



Jistě nemá smysl spekulovat o tom, že jde o poměrně závažnou zranitelnost, díky které může nebohý uživatel snadno přijít o svou identitu. A jak tedy uživatele přimět k tomu, aby do tohoto pole vložil právě naší adresu?





  
    
    Demo 1 - clickjacking(4)
  
  
    
    
    
    
    

Ochrana před vstupem botů

do pole opiš

ochrana@attacker.cz


Co lze zlepšit

Příklad je možné obohatit o některé praktiky, které jsme si ukázali v minulých dílech seriálu. Například je možné napozicovat viditelné prvky formuláře na námi požadovanou pozici, nebo můžeme ošetřit kliknutí na submit tlačítko.

Co nás čeká příště

Příště zůstaneme u stejného příkladu, jako tentokrát. Rozdíl bude v tom, že pro vložení hodnoty do vstupního pole nebude potřeba, aby uživatel zapsal textový řetězec. Namísto toho využijeme vlastnosti HTML5 Drag&Drop, která pro zdárný útok vystačí s uživatelským přetažením objektu.

*Pochopitelně neútočíme proti webové stránce, ale snažíme se oklamat koncového uživatele. Termíny „stránka, proti které útočíme“ nebo „napadená stránka“ jsou zvoleny pouze pro pojmenování zranitelné stránky cílové aplikace, kterou načítáme do rámu.