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
Beberapa Upload File Kerentanan:
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
No comments:
Post a Comment