Sewenang-wenang
atau tidak terikat Upload File adalah jenis aplikasi web kerentanan
yang terjadi karena validasi tidak tepat dari file yang sedang diupload
pada server.
Misalkan ada sebuah website yang memungkinkan pengguna untuk
meng-upload file gambar dengan ekstensi seperti .jpg, .png, .gif dan
sebagainya, tetapi jika website tidak dapat benar memverifikasi file
gambar yang diupload, penyerang dapat mengambil kontrol atas situs
Seluruh / server. Hal ini terutama berlaku untuk file dengan ekstensi .php & asp karena mereka secara otomatis dijalankan oleh server. Jadi dalam posting ini saya akan menjelaskan kepada Anda bagaimana kerentanan ini disebabkan dengan mempelajari kode sumber.
Posting ini telah dengan mengingat bahwa Anda baru untuk jenis
kerentanan ditulis, sehingga contoh yang akan dijelaskan akan yang
dasar. Canggih misalnya akan diposting di PART 2 posting ini. Contoh Berikut ini adalah forum meng-upload HTML yang memungkinkan gambar yang akan diupload pada server.
<Form action = metode "upload.php" = "post" enctype = "multipart / form-data">
Pilih file untuk meng-upload:
<Input type = "file" name = "nama file" />
<br/>
<Input type = "submit" name = "submit" value = "Submit" />
</ Form>
Ketika file tersebut disampaikan, itu adalah kirim ke upload.php pada server. Berkas tersebut disimpan di lokasi sementara sampai diambil oleh kode sisi server. Jadi setelah file diupload, itu dikirim ke sebuah direktori permanen atau lokasi melalui upload.php
// Tentukan lokasi target di mana gambar yang
// Upload akan disimpan.
Target $ = "gambar /". basename ($ _ FILES ['uploadedfile'] ['nama']);
// Pindahkan file upload ke lokasi baru.
jika (move_uploaded_file ($ _ FILES ['uploadedfile'] ['tmp_name'], $ target))
{
echo "Gambar telah berhasil diupload.";
}
lain
{
echo "Ada kesalahan meng-upload gambar, silakan coba lagi.";
}
Masalah dengan kode di atas adalah bahwa, jenis file tidak diverifikasi
yang sedang diupload, sebagai hasilnya penyerang dapat meng-upload file
berbahaya pada server.
Setelah file berbahaya diupload di server, eksekusi perintah sewenang-wenang mungkin.
Nah, solusi sederhana untuk menambal jenis masalah adalah untuk memeriksa MIME ketik permintaan upload.
if
(
$_FILES
[
'userfile'
][
'type'
] !=
"image/gif"
) {
echo
"Sorry, we only allow uploading GIF images"
;
exit
;
}
Well this method too can be bypassed by the manipulation of Request Header allowing
Apa
yang bisa dilakukan bukan adalah bahwa fungsi penggunaan PHP untuk
memeriksa bahwa jenis file memang tipe yang diinginkan, misalnya:
'getimagesize ()' fungsi PHP mengambil nama file sebagai argumen dan
mengembalikan ukuran dan jenis gambar
Beberapa Upload File Kerentanan:
http://www.hackingsec.in/2012/03/testing-imageshell-and-deface-upload.html http://www.hackingsec.in/2012/03/file-manager-remote-shell-and-deface.html http://www.hackingsec.in/2012/02/fckeditor-remote-file-upload-exploit.html http://www.hackingsec.in/2012/01/file-thingi-deface-and-shell-upload.html http://www.hackingsec.in/2012/01/another-deface-and-shell-upload.html http://www.hackingsec.in/2012/01/defaceshell-and-image-upload.html
Artikel keren lainnya:
Belum ada tanggapan untuk "Sewenang-wenang atau tidak terikat Upload File"
Post a Comment