Prohlížeče se snaží bránit
Všechny dnešní prohlížeče se snaží bránit zneužití formulářového prvku pro zaslání souboru. Ochraňují prvek proti automatickému vložení cesty k libovolnému lokálnímu souboru a zabraňují jeho automatickému odeslání.
Například parametr .value není možné nastavit nebo změnit skriptem. Stejně tak libovolná změna parametru .type smaže obsah pole. Nicméně lze přesměrovat uživatelský vstup z jednoho místa na druhé a tím tak získat potřebná vstupní data na vyplnění uploadovacího políčka.
Podstata celého útoku
Přesměrování vstupu se snaží více či méně všechny prohlížeče bránit. Zatímco Opera zvládá obranu bez problémů, protože se brání zaměření uploadovacího pole. U Internet Exploreru je možné zaměření sebrat přímo při vyřizování události klávesnice. Ve Firefoxu se to dá uskutečnit jednodušeji mezi vyvoláním událostí onKeyDown a onKeyPressed.
Menší komplikace
Jistou komplikaci přináší na některých platformách nutnost přesné konstrukce cesty k vybranému souboru. Ve Windows je třeba uvést písmeno disku a plnou cestu nebo jméno počítače. Na *nixu je útok jednodušší, protože k úspěchu stačí v psaném textu získat znak /. Nicméně prohlížeč IE je méně náročný a dokáže na rozdíl od Firefoxu respektovat i neplatnou cestu.
Funkční příklady zranitelností
Zranitelnosti si můžete vyzkoušet přímo na ukázkové stránce autora pro platformu Windows a to jak prohlížeč Firefox tak i Internet Explorer.
Michal Zalewski - MSIE, Firefox focus stealing vulnerabilities (via Slashdot)
