[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача кода через JPG GIF
anonymouse
Доброе время суток.

Вот наслушался я про дыры в формах и особенно когда заливают файлы.
Уселся прочитал парочку статей но так и не понял какой же выход?


1. прочитал про замену типа что якобы вместо Жпега передаём ПХП... Ок выход getimagesize();


2. но вот прочитал я про то что в Жпеги кидают код - и тут я задумался - как же его гада убить то ?
нашел функцию но ничего я в ней не понял...
PHP
<?php
$exif 
exif_read_data('picture.jpg'0true);
echo 
"picture.jpg:<br>\n";
        foreach (
$exif as $key => $section)
        {
                 foreach (
$section as $name => $val)
                 {
                 echo 
htmlspecialchars("$key.$name: $val")."<br>\n";
                 }
         }


3. и какие бы вы мне предложили зашиты от JPG/GIF/WORD/PNG/TXT - файлов ?
Уж не хочется у себя потом отлавливать всякий шелл скрипты...



Спустя 18 минут, 23 секунды (21.03.2009 - 19:43) kirik написал(а):
1. .jpg файл не запустится как .php (если ты сам этого не захочешь)
2. Дыра с выполнением JS кода из картинки была и осталась только в IE6 (пользователи этого браузера сами виноваты)

Цитата (anonymouse @ 21.03.2009 - 11:25)
нашел функцию но ничего я в ней не понял...

Считывает EXIF заголовки из картинки и экранирует все "опасные" символы посредством htmlspecialchars()

Спустя 22 часа, 8 минут, 41 секунда (22.03.2009 - 17:52) anonymouse написал(а):
Цитата (kirik @ 21.03.2009 - 16:43)
1. .jpg файл не запустится как .php (если ты сам этого не захочешь)
2. Дыра с выполнением JS кода из картинки была и осталась только в IE6 (пользователи этого браузера сами виноваты)

Цитата (anonymouse @ 21.03.2009 - 11:25)
нашел функцию но ничего я в ней не понял...

Считывает EXIF заголовки из картинки и экранирует все "опасные" символы посредством htmlspecialchars()

Исходя из того что ты мне сказал - если я не буду выполнять функцию system();
cmd() или еще чете типо того - никакой опасность нету в использование кода в JPG-ax я правильно понял ?

Ну как насчет Perl-a я читал статью где сам Perl подделывает исходящей данные и тем самым позволяет загрузить PHP скрипт.

что же тут вы скажите ?

Пример статьи :

_http://habrahabr.ru/blogs/php/44610/ - или я сам себя ввожу в заблуждение...
Просто то чем я себя ша занимаю это пишу кое что - и там без загрузок файлов ну никак - вот почему меня очень дергает этот вопрос.



Спустя 21 минута (22.03.2009 - 18:13) Sylex написал(а):
anonymouse
как сказал уже kirik:
Цитата ("kirik")
.jpg файл не запустится как .php (если ты сам этого не захочешь)


то никакой опасности нет... опасность может быть только в следующем:

если ты даешь расширение файлу то, что приходит от пользователя!!!

по умолчанию исполняемые скрипты только .php !!!

Спустя 1 час, 28 минут, 51 секунда (22.03.2009 - 19:42) kirik написал(а):
Цитата (anonymouse @ 22.03.2009 - 09:52)
если я не буду выполнять функцию system();
cmd() или еще чете типо того

А зачем тебе понадобится выполнять код картинки? smile.gif

Цитата (anonymouse @ 22.03.2009 - 09:52)
у как насчет Perl-a я читал статью где сам Perl подделывает исходящей данные и тем самым позволяет загрузить PHP скрипт.

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

Можешь также в той дериктории, куда сливаются файлы на всякий случай запретить выполнение php и cgi скриптов через .htaccess:
Код
# Вырубаем выполнение php:
AddType text/html .htm .html
AddType application/x-httpd-php-source .php

# Вырубаем выполение SSI и CGI:
Options -ExecCGI -Includes



_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.