Comments 36
Уже видел такое но внутри был php с shell payload.
А так помимо различных веселых атак на сервера и браузеры — можно скрытно передавать информацию в изображении, правда для этого есть и другие алгоритмы получше...
<?php ?>
, остальное тупо печатается. Можно не париться с закомменчиванием бинарного мусора, он все равно не выполнится.Как бы, не обязательно, можно же перекодировать таким образом, что бы никогда не получался бы "*/". Например, вставляя «Код очистки», при этом размерчик немного вырастет, но будет без артефактов и прочих повреждений.
Круто, сразу вспомнилось: Сценка Ньютон и Казанова: " Коллега вы делаете тоже самое, что и я, только мозги"....
А парсеру JS что делать? В конец же можно просто дописать RAR-архив. Получится RARGIFJS.
`
, но для этого надо писать нестандартный GIF-енкодер, а на это автора уже не хватило.xakep.ru/2014/04/02/easy-hack-april-2014/#toc06.
В свое время делал утилиту для преобразования exe-файла в com-файл для MSDOS, который состоял полностью из ascii-символов (можно было вставить в письмо), но распаковывал себя и запускался. Теперь вот GIF, который на самом деле JS. Времена изменились...
А как быть с ограничением на 64кб? Вроде, .com пытается загрузиться целиком в один сегмент, и если не помещается, то "опа!", а ещё в конце этого сегмента размещает стэк и заполняет его последний байт точкой возврата при завершении...
А что если подгрузить картинку как картинку с правильными MIME типами, а дальше, в отдельном скрипте загруженном на той же странице: читаем файл в память, и потом запускаем его через eval.
Конечно, это уже не чистый запуск, но всё же хороший способ скрыть исходный скрипт относительно легко.
10 лет назад на хабре писали, причём png использован как архиватор
Самое первое, что можно вспомнить, это .bat файл, который переименовывал себя в .com и исполнял, в мохнатых 90-х.
Картинка, которая одновременно является кодом на Javascript