MIME sniffing vs extensao
Evite uploads forjados combinando allowlists de extensao com deteccao MIME baseada no conteudo.
Verificacoes por extensao sao necessarias, mas insuficientes
Extensoes sao metadados controlados pelo usuario. Elas ajudam na UX e no roteamento, mas nao sao indicadores confiaveis do tipo real de conteudo. Atacantes costumam renomear payloads para passar por allowlists superficiais.
Use verificacoes por extensao para aplicar a politica do produto e depois valide com sniffing por assinatura e probes de parser.
Construa uma decisao em tres frentes
Aceite apenas quando o tipo detectado estiver na sua allowlist e nao conflitar com expectativas criticas de politica. Registre todas as incompatibilidades para analise de abuso.
- Tipo declarado: cabecalho Content-Type da requisicao.
- Tipo esperado: mapeamento extensao-para-politica.
- Tipo detectado: assinatura do conteudo e resultado do parser.
Orientacao operacional
Trate incompatibilidade de tipo como alto risco para executaveis e arquivos compactados. Para formatos ambiguos, coloque em quarentena e escaneie de forma assincrona. Mantenha um pequeno corpus de amostras dificeis nos testes de regressao, incluindo arquivos poliglotas e cabecalhos malformados.
Ferramentas recomendadas
Inspetor MIME
Compare extensao e assinaturas para detectar incompatibilidades de tipo.
Abrir ferramentaClassificador MIME em lote
Classifique muitos arquivos de uma vez e destaque riscos de incompatibilidade.
Abrir ferramentaGerador e verificador de checksum
Calcule SHA256 e verifique a integridade do arquivo com hashes esperados.
Abrir ferramenta