MIME Tür Tespit Cihazı
Dosya uzantıları yanıltıcıdır; herkes malware.exe dosyasını photo.jpg olarak adlandırabilir. Bir dosyanın gerçek formatını belirlemenin güvenilir yolu, ilk birkaç baytını okumaktır; çünkü çoğu format, adından bağımsız olarak formatı tanımlayan bir imza (“sihirli sayı”) yerleştirir. Bu tespit aracı, indirilen her dosyanın imzasını okur ve standart MIME tipini ile en yaygın uzantıyı geri gönderir; böylece yüklenen dosyanın istemcinin iddia ettiği formatla uyumlu olduğunun doğrulanmasını sağlar.
MIME tespiti nasıl çalışır?
-
1
Bir dosya bırakın
Her boyutta; yalnızca ilk 4–16 KB okunur.
-
2
Sihirli baytları oku
Çoğu format bilinen bir imzayla başlar.
-
3
İmza veritabanıyla karşılaştır
Dedektör, `file(1)`/libmagic ile aynı kuralları kullanır.
-
4
MIME + uzantı döndür
RFC 6838 medya türü, kanonik uzantısı ve insan tarafından verilen etiketi gösterir.
Örnek imzalar
| Format | İlk baytlar (heks) | MIME |
|---|---|---|
| JPEG | FF D8 FF |
image/jpeg |
| PNG | 89 50 4E 47 0D 0A 1A 0A |
image/png |
| GIF87a | 47 49 46 38 37 61 |
image/gif |
| GIF89a | 47 49 46 38 39 61 |
image/gif |
| WebP | 52 49 46 46 ... 57 45 42 50 |
image/webp |
25 50 44 46 (%PDF) |
application/pdf |
|
| ZIP / JAR / ODT / DOCX | 50 4B 03 04 |
application/zip (veya belirli bir dosya formatı) |
| gzip | 1F 8B 08 |
application/gzip |
| MP4 (ISO BMFF) | 00 00 00 XX 66 74 79 70 |
video/mp4 |
| MP3 | 49 44 33 veya FF FB |
audio/mpeg |
| FLAC | 66 4C 61 43 |
audio/flac |
| WAV | 52 49 46 46 ... 57 41 56 45 |
audio/wav |
| ELF (Linux ikili dosyası) | 7F 45 4C 46 |
application/x-executable |
| Windows PE (exe) | 4D 5A |
application/x-msdownload |
Uzantıların yeterli olmamasının nedeni
- Güvenlik: Dosya olarak yüklenen ve aslında
.exeolan birresume.pdfdosyası basit uzantı filtrelerini geçer. Bu sorunun çözümü sunucu tarafında yapılan MIME tespittidir. - Content-Type uyumsuzluğu: Bir tarayıcı yükleme için yanlış bir MIME gönderebilir; sihirli baytların okunması verilerin gerçek içeriğini gösterir.
- Yenilenmiş yedekler. Uzantılar bazen kaybolabilir veya silinir; içerik analizi sayesinde her dosyanın ne olduğunu belirleyebilirsiniz.
ZIP tabanlı aile
Pek çok modern format aslında ZIP arşivleridir; herhangi bir ZIP gibi PK\x03\x04 ile başlarlar:
- Office Open XML:
.docx,.xlsx,.pptx. - OpenDocument:
.odt,.ods,.odp. - EPUB:
.epub - Android APK:
.apk - Java JAR:
.jar.
Onları ayırt etmek için dedektör, bir manifest dosyası aramak üzere ZIP dosyasının içine bakar (OOXML için [Content_Types].xml, ODF/EPUB için mimetype).
Faydalı Kombinasyonlar
- İlk 512 bayt, çoğu format imzasını kapsar.
- İlk 4 KB, manifestin daha ileri konumda yer aldığı ZIP tabanlı formatları kapsar.
- İlk 16 KB, bazı çoklu medya konteynerleri gibi kenar durumları kapsar.
Mükemmel değil
- Sade metin dosyalarında hiçbir sihirli bayt bulunmaz. Tespit sistemi bu durumda heuristik yöntemlere başvurur (dosya geçerli bir UTF-8 formatı mıdır? JSON ya da XML gibi görünüyor mu?).
- Şifreli veya gizlenmiş dosyalar, tanımlanabilir bir imzası olmayan rastgele baytlar gibi görünabilir.
- Format belirsizliği:
audio/wavvevideo/aviher ikisi deRIFFile başlar; dedektör ikincil tanımlayıcıyı kontrol eder (dört bayt sonraWAVEveyaAVI).
Sık Sorulan Sorular
Hayır. Tespit işlemi tarayıcınızda gerçekleşir; yalnızca ilk birkaç KB’lık veri okunur ve istemci tarafındaki imza veritabanıyla karşılaştırılır. Hiçbir veri cihazınızdan dışarı çıkmaz.
Çünkü OOXML, ODF, EPUB ve JAR tümü ZIP imzasıyla başlar. Dedektör içeriye bakarak format özgü manifesti tespit eder ve daha spesifik bir MIME değerini (application/vnd.openxmlformats-...) geri gönderir.
Naif ad değiştirme yöntemini tespit eder: .exe adı .jpg’e değiştirildiğinde, bu dosya özgün baytları nedeniyle icra edilebilir olarak görünür. Uzman saldırganlar ise gerçek medya dosyalarına yükler yerleştirir veya birden fazla imzaya uygun çok dilli dosyalar kullanır; bu da basit tespit yöntemlerini geçersiz kılar.
Sade metinde sihirli baytlar bulunmaz. Tespit sistemi şu kriterlere göre değerlendirir: geçerli UTF-8 mi? Geçerli JSON mu? XML beyanı mı? CSV yapısı mı? Aksi takdirde text/plain formatına geçilir.
İmza veritabanı benzerdir (Unix libmagic kurallarından türetilmiştir). Ortak formatlarda sonuçlar aynı olmalıdır; gizli veya özel formatlarda ise farklılık görülebilir.
İlgili Araçlar
Alan Adından IP'ye
Her alan adını IPv4 (A) ve IPv6 (AAAA) adreslerine çözün ve kopyalayıp istediğiniz ağ aracında kullanın.
Alan Adı Yaşı Kontrolü
Bir alan adının ilk olarak ne zaman kaydedildiğini ve yaşını (yıllar, aylar ve günler cinsinden) kayıt merkezindeki WHOIS verilerini kullanarak kontrol edin.
CORS Test Aracı
Herhangi bir URL'ye preflight OPTIONS isteği gönderin; sunucunun döndürdüğü Access-Control-Allow-Origin, başlıkları ve yöntemleri inceleyin. Çapraz kökenli hataları hızlıca ayıklayın.
DMARC Kayıt Kontrolcüsü
Her alanın DMARC TXT kaydını sorgulayın ve politika, hizalama, raporlama adresleri ile uygulama yüzdesini okunabilir biçimde analiz edin.
Veri Sızıntısı E-posta Kontrolcüsü
Bir e-posta adresinin bilinen bir veri sızıntısında yer aldığını kontrol edin, bu sızıntının hangi kaynaklardan kaynaklandığını belirleyin ve hangi bilgilerin öncelikle değiştirilmesi gerektiğini öğrenin.
Tarayıcı Bilgisi Algılayıcı
Tarayıcınızın ne raporladığını görün: user agent, motor, sürüm, OS, cihaz türü, ekran çözünürlüğü, saat dilimi, dil ve genel IP.
Araç diğer dillerde mevcuttur
- MIME-typdetektor [SV]
- Detektor Jenis MIME [ID]
- Bộ phát hiện loại MIME [VI]
- MIME 타입 감지기 [KO]
- Detector de Tipo MIME [PT]
- أداة كشف نوع ملفات MIME [AR]
- MIME-type detector [NL]
- Détecteur de type MIME [FR]
- MIME-Typ-Detektor [DE]
- Detektor typu MIME [PL]
- Detector de tipo MIME [ES]
- เครื่องตรวจจับประเภทไฟล์ MIME [TH]
- MIMEタイプ検出器 [JA]
- MIME Type Detector [EN]
- Rilevatore di tipo MIME [IT]
- Определение MIME-типа файла [RU]
- MIME类型检测器 [ZH]