2013-08-20 3 views
0

На моем сайте я использовал exif_imagetype функция при загрузке изображения. Я думал, что это безопасная функция, чтобы пренебрегать другими загружаемыми файлами. Но я прочитал статью о том, что если мы изменим подпись файла, мы можем загрузить какой-нибудь файл, который нам нужен. я попытался получить информацию, чтобы изменить тэ файл подписи в чистой Stil я не могу найти его ..Как изменить подпись (ака «магические числа») файла?

if (! exif_imagetype($_FILES['upload']['tmp_name'])) 
{ 
    echo "File is not an image"; 
} 

Любой, пожалуйста, помогите мне изменить подпись file..I нужно проверить эти файлы на моем сайте время Я размещался в локальной сети.

+0

проверить как расширение файла, так и тип MIME и разрешить выполнение только расширения .php' на вашем сервере. –

+0

Мне нужно изменить подпись файла ... так что скажите, где будет находиться подпись, потому что мне нужно ее отредактировать и проверить –

ответ

1

Вы можете найти список общих номеров магических файлов в этом wikipedia article.

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

Mime тип файла определяется путем чтения этих магических чисел.

+0

да мой код уязвим для загрузки инъекций :( –