Detektor Jenis MIME
Ekstensi file sering kali menyesatkan, siapa saja dapat mengubah nama file malware.exe menjadi photo.jpg. Cara paling andal untuk mengetahui jenis sebenarnya dari sebuah file adalah dengan membaca beberapa byte pertamanya, di mana kebanyakan format menyertakan tanda tangan (“nomor magis”) yang mengidentifikasi format tersebut terlepas dari namanya. Alat deteksi ini membaca tanda tangan pada setiap file yang diunggah dan mengembalikan tipe MIME kanonik beserta pemetaan ekstensi yang paling umum, sehingga Anda dapat memverifikasi bahwa file yang diunggah sesuai dengan apa yang diklaim oleh klien.
Bagaimana cara deteksi MIME bekerja
-
1
Letakkan file
Dalam ukuran apa pun, hanya bagian pertama sepanjang 4–16 KB yang dibaca.
-
2
Baca bait-bait magis
Sebagian besar format dimulai dengan tanda tangan yang telah diketahui.
-
3
Lakukan pencocokan dengan basis data tanda tangan
Detektor ini menggunakan aturan yang sama dengan `file(1)`/libmagic.
-
4
Kembalikan MIME + ekstensi
Menampilkan tipe media RFC 6838, ekstensi kanonik, dan label manusia.
Contoh tanda tangan
| Format | Byte pertama (hex) | 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 (atau yang spesifik) |
| gzip | 1F 8B 08 |
application/gzip |
| MP4 (ISO BMFF) | 00 00 00 XX 66 74 79 70 |
video/mp4 |
| MP3 | 49 44 33 atau FF FB |
audio/mpeg |
| FLAC | 66 4C 61 43 |
audio/flac |
| WAV | 52 49 46 46 ... 57 41 56 45 |
audio/wav |
| ELF (Binary Linux) | 7F 45 4C 46 |
application/x-executable |
| Windows PE (exe) | 4D 5A |
application/x-msdownload |
Mengapa ekstensi tidak cukup
- Keamanan: File
resume.pdfyang diunggah, padahal sebenarnya merupakan.exe, dapat menghindari filter ekstensi sederhana. Solusinya adalah deteksi MIME di sisi server. - Tidak sesuai jenis konten (Content-Type). Browser dapat mengirimkan format MIME yang salah saat proses pengunggahan; membaca byte magic akan menunjukkan apa sebenarnya isi data tersebut. – Backup yang telah dipulihkan. Ekstensi file terkadang hilang atau dihilangkan; fitur analisis konten memungkinkan Anda mengidentifikasi jenis setiap file.
Keluarga berbasis ZIP
Banyak format modern pada dasarnya merupakan arsip ZIP; nama filenya biasanya diawali dengan PK\x03\x04, sama seperti arsip ZIP lainnya.
– Office Open XML: .docx, .xlsx, .pptx.
- OpenDocument:
.odt,.ods,.odp. - EPUB:
.epub. – APK untuk Android:.apk. - Java JAR:
.jar.
Untuk membedakan keduanya, detektor akan memeriksa isi ZIP untuk mencari file manifest ([Content_Types].xml untuk OOXML, mimetype untuk ODF/EPUB).
Kombinasi yang Berguna
- 512 byte pertama mencakup sebagian besar tanda tangan format.
- 4 KB pertama mencakup format berbasis ZIP, di mana manifest terletak pada bagian yang lebih lanjut.
- 16 KB pertama mencakup kasus-kasus khusus, seperti beberapa kontainer multimedia.
Tidak sempurna
- File teks biasa tidak mengandung byte ajaib. Detektor akan kembali menggunakan pendekatan heuristik (apakah file tersebut valid dalam format UTF-8? Apakah bentuknya mirip dengan JSON atau XML?).
- File yang dienkripsi atau difusi dapat tampak seperti deretan byte acak tanpa tanda tangan yang dapat dikenali.
– Ambiguitas format: baik
audio/wavmaupunvideo/avisama-sama dimulai denganRIFF; detektor akan memeriksa identifikasi sekundernya (WAVEdibandingkan denganAVIyang muncul empat byte kemudian).
Pertanyaan yang Sering Diajukan
Tidak. Proses deteksi berjalan di peramban Anda, hanya beberapa KB pertama yang dibaca dan diperiksa terhadap basis data tanda tangan di sisi klien. Tidak ada data yang meninggalkan perangkat Anda.
Karena OOXML, ODF, EPUB, dan JAR semuanya dimulai dengan tanda tangan ZIP, detektor akan memeriksa isi file untuk menemukan manifest khusus format tersebut dan mengembalikan kode MIME yang lebih spesifik (application/vnd.openxmlformats-...).
Metode ini mendeteksi praktik penggantian nama yang naif: file dengan nama .exe yang diubah menjadi .jpg akan ditampilkan sebagai file eksekutabel berdasarkan karakteristik byte khususnya. Penyerang canggih dapat menyisipkan payload ke dalam file media asli atau menggunakan file poliglot yang sesuai dengan berbagai pola tanda tangan digital, sehingga mampu mengatasi sistem deteksi sederhana.
Teks biasa tidak mengandung byte ajaib. Alat deteksi menggunakan metode heuristik untuk menentukan formatnya: UTF-8 yang valid? JSON yang valid? deklarasi XML? struktur CSV? Jika tidak, sistem akan kembali menggunakan format text/plain.
Basis data tanda tangan memiliki struktur yang serupa (diperoleh dari aturan libmagic Unix). Hasilnya seharusnya sesuai untuk format standar; namun untuk format yang tidak umum atau khusus, hasilnya dapat berbeda.
Alat Terkait
Pencarian DNS Terbalik
Cari record PTR untuk alamat IPv4 atau IPv6. Berguna untuk debugging server email, analisis log, dan investigasi filter spam.
HTTP Request Tester
Kirim request HTTP dengan method, header, dan body kustom. Periksa kode status, waktu respons, serta body dan header respons lengkap.
Kalkulator CIDR
Hitung alamat jaringan, sinyal broadcast, rentang host, IP yang dapat digunakan, dan mask subnet untuk setiap blok CIDR IPv4.
Pemeriksa Usia Domain
Periksa kapan sebuah domain pertama kali terdaftar serta usianya dalam tahun, bulan, dan hari menggunakan data WHOIS dari registri.
Pencarian WHOIS
Cari data WHOIS publik sebuah domain: registrar, nameserver, kode status, dan tanggal kedaluwarsa.
Domain ke IP
Ubah setiap nama domain menjadi alamat IPv4 (A) dan IPv6 (AAAA)-nya, lalu salin ke alat jaringan apa pun.
Alat ini tersedia dalam bahasa lain
- MIME 타입 감지기 [KO]
- Détecteur de type MIME [FR]
- Detector de Tipo MIME [PT]
- เครื่องตรวจจับประเภทไฟล์ MIME [TH]
- Bộ phát hiện loại MIME [VI]
- MIME-typdetektor [SV]
- أداة كشف نوع ملفات MIME [AR]
- MIME-type detector [NL]
- MIME-Typ-Detektor [DE]
- Detektor typu MIME [PL]
- Detector de tipo MIME [ES]
- MIMEタイプ検出器 [JA]
- MIME Type Detector [EN]
- Rilevatore di tipo MIME [IT]
- Определение MIME-типа файла [RU]
- MIME Tür Tespit Cihazı [TR]
- MIME类型检测器 [ZH]