개발 스크랩 메모/PHP
PHP 파일 업로드 : MIME 또는 확장 기반 검증?
렉사이
2020. 11. 20. 16:15
파일을 다운로드할 때 파일의 mime 형식이나 파일 확장 이름으로 인증해야 합니까?
이 두 가지 서류 검증 방법의 장단점은 무엇입니까?
그리고 다른 안전 문제를 걱정해야 합니까?
그동안 나는 mime 유형에 의존했지만 이 글에서 답은 가장 지지율이 있다.
php 파일 업로드 설명:
Never rely on the MIME type submitted by the browser!
대답
그래, 그렇다면 모든 요정들에게 ‘나사 연장, 마임을 검사!파일 정보 RLZ!]나는 약간의 교정을 준비했다.
- Download this pretty php logo I drew
- View it. Pretty nice, isn't it?
- Rename it to whatever_you_like.php
- Put it through all your awesome mime type/whatever checkers
- Run it
어쨌든, 너는 영원히 mime 타입에 의존해서는 안 된다.
당신의 웹 서버는 mime 유형에 관심이 없습니다.
확장을 통해 무엇을 결정해야 할지 결정됩니다.
결국 부결된 @col.shranpel 의 답은 사실상 옳습니다.
Mimime에서 제공하는 정보를 실행할 때 웹 서버와 전혀 무관합니다.
편집: 이러한 공격을 위해 웹 사이트를 열기 위한 일반 코드: