PDA

Просмотр полной версии : Вопрос по поводу "имя_файла.txt/.php"


Mr_VLaD
05.04.2013, 16:54
Есть ведь уязвимость на некоторых сайтах, вида: если дописать в конце любого файла "/.php", то он исполняется как php (даже текст, или картинка).

Вопрос: каким образом можно вставить шелл в картинку, чтобы залив эту картинку на сайт вызвать её как php ?

m1d$
05.04.2013, 17:07
Если не ошибаюсь , картинка нужна .png

оTкрываешь хэш редактором и в конец вставляешь свой шелл.

(опыта очень мало,могу посоветовать не то. Заранее прошу прощения)

Mr_VLaD
05.04.2013, 17:09
Я тоже уже вычитал о gif'е, но не могу понять как HEX редактором вставить туда шелл, чтобы он там был и в то же время картинка работала.

m1d$
05.04.2013, 17:12
наверное сам шелл (текст) копи-паст в конец хекса...

возможно картинка и не должна работать. Просто сервер воспринимает её как картинку.

Это всего-лишь догадки.

Mr_VLaD
05.04.2013, 17:15
Ну мне бы желательно реальный совет от знающего человека. Догадки я и сам имею -)

m1d$
05.04.2013, 17:18
вот

http://raz0r.name/articles/bezopasnost-zagruzhaemyx-izobrazhenij/

то?

Mr_VLaD
05.04.2013, 17:21
От части. EXIF редактор вроде нужен, чтобы код шелла спаять с кодом картинки.

BigBear
05.04.2013, 17:42
От части. EXIF редактор вроде нужен, чтобы код шелла спаять с кодом картинки.


Не парь мозг, открывай блокнотом и вставляй php код.

Переименуешь потом обратно - если окажешься везучим - картинка сохранится. Если нет - разницы для уязвимости нет.

Mr_VLaD
05.04.2013, 17:43
Не парь мозг, открывай блокнотом и вставляй php код.


Картинка после этого не работает.

Cennarios
05.04.2013, 19:39
a) При сохранении через блокнот е**ся кодировка. Поэтому при аплоаде валидатор не распознает файл как картинку. Самый верный вариант , как и было указано - посредством hex редактора. Хотя можно и воспользоваться тем же php к примеру (file_put_contents('imagefile','phpcode',FILE_APPE ND))

b) Уязвимость эта - некорректная конфигурация вебсервера NGINX+PHP-FPM в точке обработки статических файлов. При которой при обращении к file.gif/.php pathinfo в NGINX становится file.php и на PHP передается для обработки file.gif.

Вот собственно сабж:http://habrahabr.ru/post/100961/

c) К тому же работает далеко не везде даже где есть сама уязвимость. Ведь множество аплоадеров на сайтах в принудительном порядке ресайзят картинку и при этом трансформируются все вставки и как таковые перестают существовать в теле картинки.

kosmo987
05.04.2013, 23:24
через notepad++ вставляй код

Cennarios
05.04.2013, 23:34
Лучше , если уж даешь совет, поясни почему в notepad++ сохранится должным образом.

kosmo987
05.04.2013, 23:45
честно не знаю но он не портит картинки

Mr_VLaD
06.04.2013, 00:38
Cennarios, Спасибо за развёрнутый ответ.

То есть в HEX редакторе можно просто в конец файла дописать код и всё?

Cennarios
06.04.2013, 01:11
Можно и в середину. Но дело в том, что как и людой другой файл, картинка любого формата имеет четкую структуру. И к примеру если в HEX редакторе вбить в заголовках описывающих файл, то случится то что и в предыдущем случае - картинка запорется. Можно в те-же exif теги вставлять, те в те участки которые не отвечают за саму структуру файла. Но, как и было сказано, любой ресайз уберет внесенную информацию.

KIR@PRO
08.04.2013, 16:13
jpg вообще вроде, плевать на все что в файле дальше картинки идет... я помню даже целые мегабайты прикреплял к картинке 128х128 и норм, на сайты грузилась, там где ресайз принудительно производился, происходило все в точности как описал Cennarios.

P.s. что за беда то у вас с кодировками там, всю жизнь блокнотом такое делал...

Vip77
01.05.2013, 22:02
Открывай .gif картинку в нотепад++ удаляй и в конце вставляй свой код

BigBear
04.05.2013, 13:26
Открывай .gif картинку в нотепад++ удаляй и в конце вставляй свой код


Месяц прошёл. Нехорошо старое подымать.

Закрываю.