2013-08-20 10 views
0

내 사이트에서는 이미지를 업로드하는 동안 exif_imagetype 기능을 사용했습니다. 다른 파일을 업로드하지 못하게하는 것이 안전한 기능이라고 생각했습니다. 그러나 필자는 파일의 서명을 변경하면 필요한 파일을 업로드 할 수 있다는 기사를 읽습니다. 나는 내 사이트 동안 해당 파일을 테스트해야 모든 일이 file..I의 서명을 변경 좀 도와주세요 ..파일의 서명 (일명 "매직 넘버")을 변경하는 방법은 무엇입니까?

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

내가 그것을 찾을 수 없습니다 순 STIL에 테 파일 서명을 변경할 수있는 정보를 얻기 위해 노력 나는 로컬 네트워크에서 주최했다.

+0

파일 확장명과 MIME 유형을 모두 확인하고 서버에서 실행되는'.php' 확장자 만 허용하십시오. –

+0

파일의 서명을 변경해야합니다 ... 편집하고 확인해야하기 때문에 서명을 어디에 두십시오. –

답변

1

일반적인 파일 매직 넘버 목록은 wikipedia article에 있습니다.

마법 번호를 변경하는 것은 매우 간단합니다. 16 진 편집기를 사용하여 파일의 처음 몇 바이트를 변경할 수 있습니다. 당신은 자신의 가치를 바꿀 수있는 프로그램을 작성할 수 있습니다.

파일의 MIME 유형은이 매직 넘버를 읽음으로써 결정됩니다.

+0

예 코드가 업로드 삽입에 취약합니다. ( –