GNU/Linux >> Belajar Linux >  >> Linux

Script Untuk Menentukan Apakah File Adalah Gambar?

Saya ingin membuat skrip shell yang akan memeriksa untuk memastikan semua file dalam direktori adalah file gambar.

Kami baru-baru ini mengalami masalah saat peretas dapat membuat file dalam direktori dan menutupinya sebagai file .jpg. Saya ingin membuat skrip shell untuk memeriksa semua file di direktori untuk memastikan mereka adalah file jpg, gif, atau png asli.

Jawaban yang Diterima:

Saya pikir Anda ingin sangat berhati-hati dalam menggunakan file dalam keadaan di mana Anda memberikan masukan yang sama sekali tidak dipercaya. Misalnya, RHEL 5 file akan mengidentifikasi ini:

GIF87a
<?php
echo "Hello from PHP!n";
?>

Sebagai "data gambar GIF, versi 87a, 15370 x 28735". Interpreter PHP tidak kesulitan mengeksekusi input tersebut. Kurangnya masalah tersebut adalah dasar untuk masalah "penyertaan file lokal" (LFI).

Kedua, file (dan bahkan strings ) sebenarnya mengurai file input untuk memberi tahu Anda apa yang ingin Anda ketahui. Pengurai ini rumit dan memiliki masalah.

Saya akan menyarankan identify perintah keluar dari suite ImageMagick. Itu tidak tertipu oleh contoh sederhana saya di atas, dan itu hanya mem-parsing file gambar dengan benar, jadi seharusnya tidak terlalu rentan terhadap kelemahan keamanan daripada file .


Linux
  1. Memindahkan file di Linux tanpa mv

  2. Apakah file disimpan di disk secara berurutan?

  3. shebang atau bukan shebang

  1. Uji Apakah Ada File Yang Cocok Dengan Pola Untuk Mengeksekusi Skrip?

  2. Bisakah Skrip Bash Dihubungkan ke File?

  3. Tentukan Shell In Script Selama Runtime?

  1. Script Shell Untuk Memindahkan File Terlama?

  2. Menyembunyikan Data Dalam Sistem File?

  3. Hitung baris dalam file besar