Есть ведь уязвимость на некоторых сайтах, вида: если дописать в конце любого файла "/.php", то он исполняется как php (даже текст, или картинка). Вопрос: каким образом можно вставить шелл в картинку, чтобы залив эту картинку на сайт вызвать её как php ?
Если не ошибаюсь , картинка нужна .png оTкрываешь хэш редактором и в конец вставляешь свой шелл. (опыта очень мало,могу посоветовать не то. Заранее прошу прощения)
Я тоже уже вычитал о gif'е, но не могу понять как HEX редактором вставить туда шелл, чтобы он там был и в то же время картинка работала.
наверное сам шелл (текст) копи-паст в конец хекса... возможно картинка и не должна работать. Просто сервер воспринимает её как картинку. Это всего-лишь догадки.
Не парь мозг, открывай блокнотом и вставляй php код. Переименуешь потом обратно - если окажешься везучим - картинка сохранится. Если нет - разницы для уязвимости нет.
a) При сохранении через блокнот е**ся кодировка. Поэтому при аплоаде валидатор не распознает файл как картинку. Самый верный вариант , как и было указано - посредством hex редактора. Хотя можно и воспользоваться тем же php к примеру (file_put_contents('imagefile','phpcode',FILE_APPEND)) b) Уязвимость эта - некорректная конфигурация вебсервера NGINX+PHP-FPM в точке обработки статических файлов. При которой при обращении к file.gif/.php pathinfo в NGINX становится file.php и на PHP передается для обработки file.gif. Вот собственно сабж:http://habrahabr.ru/post/100961/ c) К тому же работает далеко не везде даже где есть сама уязвимость. Ведь множество аплоадеров на сайтах в принудительном порядке ресайзят картинку и при этом трансформируются все вставки и как таковые перестают существовать в теле картинки.
Cennarios, Спасибо за развёрнутый ответ. То есть в HEX редакторе можно просто в конец файла дописать код и всё?
Можно и в середину. Но дело в том, что как и людой другой файл, картинка любого формата имеет четкую структуру. И к примеру если в HEX редакторе вбить в заголовках описывающих файл, то случится то что и в предыдущем случае - картинка запорется. Можно в те-же exif теги вставлять, те в те участки которые не отвечают за саму структуру файла. Но, как и было сказано, любой ресайз уберет внесенную информацию.
jpg вообще вроде, плевать на все что в файле дальше картинки идет... я помню даже целые мегабайты прикреплял к картинке 128х128 и норм, на сайты грузилась, там где ресайз принудительно производился, происходило все в точности как описал Cennarios. P.s. что за беда то у вас с кодировками там, всю жизнь блокнотом такое делал...