
10.08.2011, 17:22
|
|
Познающий
Регистрация: 03.03.2011
Сообщений: 51
С нами:
7997366
Репутация:
0
|
|
инклуд не инклуд
Наткнулся на код, в котором значение из $_GET напрямую передается в класс PhpThumbFactory::create.. В этом классе происходит проверка на валидность входного IMG файла.. Т.е, если я подставляю:
?filename=/../../1.jpg , отображается соответственно сама картинка, находящаяся в корне.. При попытке прочитать реальную JPG, GIF, PNG, читается из любого места.. А вот прочитать файл другого формата не удается, все это проверяется, и мозгов у меня пока не хватает, чтобы сделать какие либо выводы..
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]resize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$width[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$height[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$thumb[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]show[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$thumb[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]destruct[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]?>
[/COLOR][/COLOR]
Существуют ли методы обхода, или как можно заставить PHP код выполниться в реальном IMG файле? И вообще, уязвимость ли это, или просто фича?
php 5.3.6
З.ы.:magic_quotes_gpc=Off,
З.ы.ы.: Проверка идет по mime типу и еще по нескольким параметрам..
|
|
|