Clickjacking: nebezpečí číhající na uživatele webových aplikací
Nálepky:
Jedním z nebezpečí číhajících na uživatele je i clickjacking. Michal Zalewski jej v konferenci WHATWG popisuje:
Zákeřná stránka na doméně A vytvoří iframe směřující na doménu B, do které je uživatel aktuálně přihlášen pomocí cookies. Stránka skryje jinými prvky větší část iframe, až na jedno jediné tlačítko na doméně B, např. „Smazat vše“, „Přidej Boba jako svého přítele“ apod. Může přidat své rozhraní pro oklamání uživatele, který si myslí, že tlačítko patří do domény A a klikne na něj. Ačkoliv jsou uvedené příklady naivní, jedná se o jasný problém pro celou řadu moderních aplikací.
Michal popisuje možná řešení problému (např. pomocí HTTP hlaviček) a navrhuje začlenění některého z nich do specifikace HTML5. Editor specifikace Ian Hickson se o řešení plánuje poradit s výrobci prohlížečů. Zájemci o problematiku, nechť si přečtou celé vlákno konference.
Hmm, takže v podstatě klasické XSRF. Jen tomu dal "kchůl" jméno, zřejmě aby byl dostatečně "in" až o tom bude mluvit.
no, uz pred par lety jsem zaznamenal nejake doporuceni, ze se kolacky nemaj pouzivat…
Koláčky proč ne, ale pak je dobré ověřit nějakou akci (smazání, přidání, …) pomocí nějakého tokenu:-)
Tady je právě blbé to, že ta stránka v iframu tam ten token dá a všechno vypadá OK..
Koláčky jsou v pohodě, spíš by to chtělo přesměrovat na stránku (nejlépe do _top), která se zeptá: Opravdu smazat?
Koláčky jsou v pohodě, spíš by to chtělo přesměrovat na stránku (nejlépe do _top), která se zeptá: Opravdu smazat?
Nejedná se o totéž. Klasická ochrana proti XSRF je na clickjacking krátká, protože v tomhle případě skutečně uživatel klikne na tlačítko správného formuláře na té správné doméně.
U XSRF obvykle odesíláme formulář z naší domény, před čímž se lze u aplikace bránit např. přidáním skrytého formulářového pole s dostatečně dlouhým neohadnutelným hashem. Ovšem u Clickjackingu tohle nepomůže, tam odejte k odeslání formuláře, který toto skryté pole obsahuje, protože to, co bylo „ukradeno“ je skutečně jen ono kliknutí uživatele (proto click-jacking).
Jak pise Martin, jde o neco jineho nez XSRF a klasicke ochrany proti XSRF se tim daji obejit, pekna demonstrace (pocs.zip):
http://lab.gnucitizen.org/projects/ui-redress-attacks
i když to už udělali jiní, tak se k nim s radostí připojím:
clickjacking není CSRF (nebo chcete-li XSRF)
http://zdrojak.root.cz/…k-se-branit/
Houbičky??
jeste nerostou…
to by jste se divil :)
http://www.linuxos.sk/sprava_zobraz_komentare/2078/index.html