Атаки с помощью HTML5

В этой статье будет сделан обзор возможностей HTML5 с точки зрения атакующего и будут рассмотрены различные типы атак на пользователей.

Автор: Lavakumar Kuppan (www.andlabs.org)
Перевод: SecurityLab.ru

HTML 5 переопределяет основные правила для разработки веб-приложений, обеспечивая богатый набор технических характеристик и расширяя существующие технические особенности и программный интерфейс. Безопасность HTML5 - еще не изученная область, потому что функции стандарта HTML5 пока не были заимствованы существующими веб-приложениями (если не говорить об экспериментальных моделях), и считается, что пока этого не произойдет, конечным пользователям волноваться не о чем.

Авторы данного пособия постараются опровергнуть это утверждение, рассказав о возможных атаках, которые могут быть выполнены на интернет-пользователей «прямо сейчас» даже на тех веб-сайтах, которые не поддерживают или только собираются поддерживать HTML5 в ближайшем будущем. Производители браузеров попытались превзойти друг друга в поддержке функций, которые входят в стандарт HTML5. В результате пользователи этих браузеров оказались подвержены тем нападениям, о которых пойдет речь в данном пособии.

Сначала мы рассмотрим известные векторы атак, о которых уже писали другие исследователи. Последние части этой статьи будут посвящены совершенно новым и эксклюзивным атакам.
В этой статье речь пойдет о следующих атаках:

  1. Межсайтовый скриптинг с помощью HTML5
  2. Обратный веб-шелл и COR
  3. clickjacking посредством HTML5
    • вставка текстового поля
    • iframe и «песочница»
  4. Отравление кэша в HTML5
  5. Удаленное подключение файлов на стороне клиента
  6. межсайтовая публикация
  7. Разведка сети
    • сканирование портов
    • сканирование сети
    • определение IP-адреса пользователя
  8. Бот-сети на HTML5
    • Создание бот-сети
      • Обращение к жертвам
      • Увеличение длительности выполнения
    • Атаки основанные на бот-сетях
      • DDos-атаки
      • спам на электронную почту
      • распределенные атаки на пароли

Межсайтовый скриптинг с помощью HTML5

В спецификации HTML5 представлены новые элементы, которые содержат атрибуты событий и новые атрибуты событий для существующих тегов. Они могут быть использованы для выполнения JavaScript сценариев, обходя фильтры, основанные на «черных списках».

С помощью новых HTML5 тегов для вывода аудио и видео можно обойти существующие фильтры, рассчитанные на блокирование известных вредоносных тегов.

Примеры:

Фильтры, блокирующие символы «<» и «>» могут предотвратить внедрение тегов в большинстве случаев. XSS еще может быть возможен в тех случаях, если атакующий может внедрить сценарий внутрь существующего атрибута события или же добавить новый атрибут события. Фильтр, который блокирует существующие атрибуты событий, можно обойти с помощью новых атрибутов событий, добавленных в HTML5. Например, «onforminput» и «onformchange».

Примеры: