Файл JPEG притворяется HTML-страницей Новый пример из серии трюков по «обману» браузера. Вот эта страница одновременно является и 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 09.07.2012 http://www.xakep.ru/post/58959/