Iframe sandboxing
Osadzanie ramek pływających (iframe) na stronie www może wiązać się z poważnymi konsekwencjami od strony bezpieczeństwa. Do tej pory, gdy atakującemu udało się przejąć stronę osadzaną w ramce (np. poprzez XSS), istniała możliwość np. podmiany zawartości parenta, czy przekierowania na zupełnie inną stronę. Oczywiście znany jest sposób radzenia sobie z takimi sytuacjami, ale daje on jedynie możliwość ostrzeżenia użytkownika przed np. przekierowaniem. Niestety przed nim nie chroni.
Z pomocą przychodzi HTML5. Specyfikacja została wzbogacona o atrybut dla iframe - sandbox. Dzięki niemu, istnieje możliwość określenia akcji, które są dozwolone względem parenta. Podanie pustej wartości w parametrze sandbox blokuje:
* javascript (zarówno dołączane skrypty jak i te w treści dokumentu)
* formularze (brak możliwości zrobienia submita)
* pluginy
* otwieranie nowych okien, popup'ów
* możliwość przekierowania parenta
* właściwości uruchamiane automatycznie (autofocus na elementach formularzy, autoodtwarzanie wideo itp.)
Podając już konkretne wartości w atrybucie sandbox, możemy zezwolić na to co nas interesuje:
* allow-forms - zgoda na submitowanie formularzy
* allow-popups - zgoda na popup'y
* allow-pointer-lock - zgodna na zaawansowany dostęp do kursora
* allow-same-origin - zgoda na dostęp do strony pod warunkiem, że są z tego samego origin
* allow-scripts - zgoda na skrypty i zdarzenia automatyczne
* allow-top-navigation - zgoda na możliwość przekierowanie parenta
Enjoy! pavul0n@STM Solutions












