Витрина продуктов

Все PDF-выпуски →
  • Подписка на «Хакер»

    Все статьи, архив и бонусы

    6000 ₽ / год

    Оформить
  • Печатный журнал

    Легендарный в твоём формате

    710 ₽ / номер

    Купить
  • Онлайн-курсы

    Практические навыки от экспертов

    от 9000 ₽

    Выбрать

Новый пример из серии трюков по «обману» браузера.

Вот эта страница одновременно является и HTML-документом, и изображением JPEG, которое можно внедрять через тег <img>.

Другими словами, на неё можно ссылаться двумя способами:

<a href="http://lcamtuf.coredump.cx/squirrel/">Первый способ</a>

или

<img src="http://lcamtuf.coredump.cx/squirrel/">

Если посмотреть исходный код страницы, то можно увидеть, что это на самом деле файл JPEG, в который добавлен комментарий и изменено расширение, чтобы браузер воспринимал его как документ HTML, но в то же время движок рендеринга по-прежнему видит JPEG.

Подобные трюки были и раньше. Например, недавно демонстрировался способ упаковки исполняемого кода в формат PNG, где файл PNG изначально воспринимается браузером как HTML-документ (из-за своего расширения .html), далее он загружает содержимое в тег <img>, заставляя интерпретировать его как PNG. После этого браузер передаёт «изображение» для рендеринга в canvas, и тогда извлекается и запускается на исполнение JS-код, встроенный в PNG.

Вот некоторые другие примеры:

Тот же Squirrel, но с исполнением скрипта: https://dl.dropbox.com/u/131649/squirrel.html

Matraka: http://www.p01.org/releases/MATRAKA/matraka.png.html

Анализ Matraka: https://gist.github.com/3039247

Формат GIFAR: http://en.wikipedia.org/wiki/GIFAR

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии