Можно ли выполнить скрипт, хранящийся в файле .jpeg? - PullRequest
0 голосов
/ 05 июня 2019

Наш финальный проект в нашем факультативном классе Ethical Hacking требует, чтобы мы создали файл .jpeg со сценарием, который автоматически запускался бы при открытии jpeg. Желательно с обычным средством просмотра изображений, но можно упомянуть и другое программное обеспечение для просмотра изображений, которое может достичь этого.

Возможно ли это? Какой язык программирования я должен изучить, чтобы сделать это? Я использовал тег Assembly, поскольку предполагал, что это возможно, если код файла изображения можно изменить на этом уровне, но это всего лишь мои предположения, и я надеюсь, что кто-то может объяснить, так ли это или нет.

Я видел несколько онлайн-уроков о том, как скрыть файл .txt внутри файла изображения и как замаскировать файл .exe, чтобы он выглядел как файл изображения с помощью WinRar. Но мне нужно, чтобы файл был в формате .jpeg.

Я надеюсь, что мне позволено это сделать, но здесь есть ссылка на то, что я имею в виду. Безопасность Stackexchange

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

Да, это возможно. Я лично создал медиа-файлы, которые могут запускать JS, если включены как src тега <script>. Мой любимый пример - где я взял MP4 Risk Astley's Never Gonna Give You Up и слегка изменил его, добавив в него JS, который будет перенаправлять браузер на это видео на YouTube, если его использовать. Есть также MP3 той же песни, которую я сделал доступной здесь .

Вот статья для GIF: GIF / Javascript Polyglots

Примечание: полиглот - это программа, которая работает на нескольких языках.

Есть много статей, доступных для поиска "polyglot js image".

Вот недавний: https://devcondetect.com/blog/2019/2/24/hacking-group-using-polyglot-images-to-hide-malvertsing-attacks


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

0 голосов
/ 06 июня 2019

Там два подхода.(1) Вам нужно будет найти какой-нибудь Jpeg-декодер с уязвимостью безопасности funkadelic.

(2) Вы можете создать поток не в формате JPEG с расширением .jpeg и попытаться заставить свою операционную систему выполнить его.как сценарий.

...