Апр
3
2013

Изъян в поддержке HTML5 браузерами позволяет заполнить диск

Одним из веб-разработчиков обнаружена ошибка в работе локального хранилища практически у всех браузеров.

Feross Aboukhadijeh для демонстрации своей находки создал специальный сайт Filldisk.com, через который в браузерах можно добиться полного забивания свободного места на системном диске. Что сказывается самым негативным образом на работе всей системы. Проблема связана с отсутствием ограничений на объем сохраняемых данных в локальных хранилищах (localStorage) в интернет-обозревателях. Автор сайта обращает внимание на то, что это не уязвимость, а просто не следование разработчиками рекомендациям спецификации.

Посмотрим же, кто из браузеров ограничивает квоту выделяемого места для данных, а кто это игнорирует. В тестировании участвовали Firefox 20, Chrome 26, Opera 12.15 и Internet Explorer 10. Ниже приведены результаты. Стоит сказать, что по данным энциклопедии Wikipedia, текущие настройки выглядят так: Chrome, Opera и Firefox — выделяют 5 Мб, IE — 10 Мб.

Internet Explorer 10

Браузер от Microsoft не стал ограничивать загрузку данных с сайта. Ни скриншоте ниже видно, что их объем уже превысил 1200 мегабайт объема диска:
Internet Explorer 10 заполняет жесткиий диск

Opera 12.15

Opera показала более хороший результат: ограничение на 5 мегабайт разработчики в своем браузере соблюли. Однако, 5 мегабайт дается на каждый домен. Если сохранять информацию с поддоменов, например, poddomen1.Filldisk.com, poddomen2.Filldisk.com и т.д., то на каждый из них будет даваться 5 мегабайт. Именно так и сделано в тесте, поэтому получилось чуть больше 70 мегабайт. После чего появляется диалоговое окно, в котором можно увеличить или ограничить дополнительное место. На фоне «отъедания» более гигабайта — хороший результат:
Opera запрашивает место для localStorage

Chrome 26

Как и Internet Explorer, Chrome не стал себя ограничивать. «Скушав» гигабайт+ свободного места, браузер просто упал:

Падение Google Chrome

Firefox 20

Это единственный браузер, разработчики которого учли рекомендации. Он один выделил положенные 5 мегабайт для локального хранилища:
Firefox правильно работает с локальным хранилищем

Один комментарий Комментировать

Оставить комментарий

Цитировать