http://www.insecure.cl/Beast-SSL.rar
Nakonec to dělají ještě jinak: Javascript se vloží do nezabezpečené stránky typu www.seznam.cz a začne hned útočit na SSL server: přinutí prohlížeč, aby se připojil na pozadí k "https://mail.google.com" a posílal vybrané otevřené texty, prohlížeč přitom v requestu pošle i session cookie, kterou se touto technikou podaří rozluštit.
Autoři ukazují, že útok na SSL pomocí vybraných otevřených textů (na jeho předvídatelnou volbu IV pro sérii CBC bloků), je už známý několik let, ale zatím jej nikdo neuměl efektivně nasadit do WWW prohlížeče.
Útočník zde neukradne "session cookie", to jsem napsal špatně, ale "login cookie" - tu, která zajišťuje, že při přístupu do Gmailu nemusí uživatel stále zadávat heslo (stálé přihlášení). A tuto cookie prohlížeč pošle i pokud do Gmailu přistoupí Javascript bez vědomí uživatele. Získá tak přístup ke schránce do té doby, než uživatel někde zmáčkne Odhlásit nebo než algoritmy Google samy změní login cookie, jak to občas udělají. Ale to mohou být dny i týdny.
Ještě poznámka: Gmail je jednou z velmi dobře zabezpečených služeb, tam lze login cookie získat jedině takto obtížně, protože šifruje pomocí SSL celou session. Na rozdíl od Seznamu, Yahoo a spol., které šifrují jen přihlašovací formulář, takže je login cookie vidět i obyčejným tcpdumpem. Už na to mockrát odborníci na bezpečnost upozorňovali...
Nemůže to udělat jako AJAXový požadavek a přečíst si odpověď serveru – viz Same origin policy – ale může zařídit načtení např. nějakého obrázku jako pozadí.
To je popsáno v odkazovaném textu, věnuje se tomu celá jedna část. Ochrany cross-site skriptování jsou účinné hlavně proti vzdáleným útočníkům, kteří nemají MITM přístup. Pokud má útočník přístup MITM (může vidět a ovlivňovat data mezi prohlížečem a serverem), tak mu to hodně pomůže -- je tam například zmiňováno, že někdy stačí zajistit, aby (s odkazem na předchozí příspěvek) měly servery www.seznam.cz a mail.google.com stejnou IP adresu (z pohledu prohlížeče - DNS spoofing, NAT).
Ad „A tuto cookie prohlížeč pošle i pokud do Gmailu přistoupí Javascript bez vědomí uživatele.“
To je pravda. Pokud útočník krade cookie a ne jméno a heslo, tak to nepomůže.
Ad „Na rozdíl od Seznamu, Yahoo a spol., které šifrují jen přihlašovací formulář“
Tohle jsem nikdy nechápal, přijde mi to jako fatální chyba. Útočník se dostane ke schránce oběti a tam nejde jen o čtení nějakých banálních osobních e-mailů, ale o to, že přes ni získá přístup k dalším službám uživatele (vyžádá si hesla, nebo si na něj třeba pořídí SSL certifikát).
P.S. prosím redakci o smazání duplicitního komentáře níže.
Nemůže to udělat jako AJAXový požadavek a přečíst si odpověď serveru – viz Same origin policy – ale může zařídit načtení např. nějakého obrázku jako pozadí (z cizí domény).
Nemůže to udělat jako AJAXový požadavek a přečíst si odpověď serveru – viz Same origin policy – ale může zařídit načtení např. nějakého obrázku jako pozadí (z cizí domény).