Pull to refresh

Comments 36

Уже видел такое но внутри был php с shell payload.
А так помимо различных веселых атак на сервера и браузеры — можно скрытно передавать информацию в изображении, правда для этого есть и другие алгоритмы получше...

опередили. В статье описано достаточно продвинутое описание по маскировке передачи вредоносного кода
PHP неинтересно. Там код — только то, что внутри <?php ?>, остальное тупо печатается. Можно не париться с закомменчиванием бинарного мусора, он все равно не выполнится.
PHP интересно, потому что при криво настроенном сервере позволяет залить на него шеллкод внутри картинки. А вот как раз во внедрении JS внутрь GIF нет никакого практического смысла.
Если это микро-сервер на Node.js, даже если не смотрящий в интернет, это может быть использовано для локального выполнения кода через браузер если знать куда стучаться
Помню несколько лет назад был ctf, где нужно было код на haskell в gif завернуть.
в свое время подобным образом удавалось обмануть ВКонтакте при загрузке музыки. если контакт ругался что авторских прав у меня нет то просто добавляешь в конце любой файл(в командной строке чтото типа copy file1.mp3 + file2.jpg) и сайт спокойно загружал и использовал как песню.
Сейчас у них другой алгоритм? Определение по размеру файла / хэшу неэффективно для медиа файлов, которые легко конвертируются.

Делают спектральный образ, сверяют с базой эталонов. Так сейчас любой матчинг аудио работает, тот же поиск неправомерно вставленной музыки на Ютубе, Шазам, все они.

Отличная статья, теперь думаем над кейсом, где можно это применить
согласен, статья очень познавательная, но как я понял это более продвинутое описание и наверное не просто будет найти ей применение
"… Здесь мы снова можем вручную изменять один из двух символов, чтобы они не завершали комментарий. Однако поскольку теперь мы находимся в разделе закодированного изображения, то в результате получим повреждённое изображение..."

Как бы, не обязательно, можно же перекодировать таким образом, что бы никогда не получался бы "*/". Например, вставляя «Код очистки», при этом размерчик немного вырастет, но будет без артефактов и прочих повреждений.

Круто, сразу вспомнилось: Сценка Ньютон и Казанова: " Коллега вы делаете тоже самое, что и я, только мозги"....

А нельзя было JS код просто в конец файла дописать? Парсер GIF, по идее, должен игнорировать всё, что находится после указанного размера.

А парсеру JS что делать? В конец же можно просто дописать RAR-архив. Получится RARGIFJS.

Так я не про заголовок, а про то, что js в поля комментариев написали.

Можно было бы при условии, что внутри GIF нет ни одного символа `, но для этого надо писать нестандартный GIF-енкодер, а на это автора уже не хватило.
UFO just landed and posted this here
UFO just landed and posted this here
Если у злоумышленника есть возможность запустить JS-код в файле .gif, то что мешает ему запустить тот же самый код в файле .js?
По моему скромному мнению кто-то открыл ящик пандорры
Картинка вреда не нанесёт — она здесь корректная (времена WMF exploit, надеюсь, прошли). А эксплуатирование её в качестве JS вредоносного скрипта просто чуть удивит того, кто анализирует.
Осенью 2020 ещё ничего не происходило. Вот нате распишитесь))

В свое время делал утилиту для преобразования exe-файла в com-файл для MSDOS, который состоял полностью из ascii-символов (можно было вставить в письмо), но распаковывал себя и запускался. Теперь вот GIF, который на самом деле JS. Времена изменились...

А как быть с ограничением на 64кб? Вроде, .com пытается загрузиться целиком в один сегмент, и если не помещается, то "опа!", а ещё в конце этого сегмента размещает стэк и заполняет его последний байт точкой возврата при завершении...

64кб это очень много для ехе-файла ). Точнее, когда-то было так. Сейчас же, с современными фреймворками и прочими «инновациями» даже хелловорлд на Visual C весит 200кб.
UFO just landed and posted this here
Что поделать, за все надо платить. Впрочем, как я понимаю, вряд ли размер кого-то сейчас волнует. Даже малварь, уж на то специфический софт — и то пишут на go / rust. Иногда попадаются экземпляры по 3-5 метров, причем не за счет какой-то хитрой упаковки — а просто так собрали, без оптимизаций.
про запуск:
А что если подгрузить картинку как картинку с правильными MIME типами, а дальше, в отдельном скрипте загруженном на той же странице: читаем файл в память, и потом запускаем его через eval.
Конечно, это уже не чистый запуск, но всё же хороший способ скрыть исходный скрипт относительно легко.
Похоже кто-то снова открыл стеганографию
UFO just landed and posted this here

Самое первое, что можно вспомнить, это .bat файл, который переименовывал себя в .com и исполнял, в мохнатых 90-х.

.sh-скрипты, которые вытаскивают из своего тела tarball и распаковывают, в ходу до сих пор.
Sign up to leave a comment.