Percobaan
1. Download aplikasi web yang akan kita gunakan pada tautan berikut:
wget
https://github.com/isfahany/infosec-module-downloadable-f
ile/raw/master/file_upload/file_upload.tar.gz
4. Coba masukkan file .txt pada web upload tersebut, apakah dapat
dilakukan?
Tampilan pada saat memasukkan txt.
6. Dicoba buka
Tampilan pada saat dibuka.
Pada saat file diunggah dan dalam bentuk php dan tidak menunjukkan
apapun karena file bukan merupakan dalam bentuk jpeg maupun png,
namun masih dapat diakses dan didapatkan sebuah alamat yaitu
/var/www/html/file_upload/upload.
b. Sebelum // Upload
if(!in_array($_FILES["fileToUpload"]["type"], $whitelist)){
die("file must be an image");
}
Coba kembali mengupload file bukan image dan lihat apa yang terjadi
Tampilan pada saat memasukkan txt.
10. Kirimkan kembali script php yang telah kita buat dengan kondisi intercept
menyala.
11. Ubahlah Content-Type menjadi kategori gambar sesuai dengan whitelist
yang kita buat tadi untuk membypass nya. Setelah itu klik tombol
Forward. Jelaskan mengapa hal itu dapat terjadi
12. Buka kembali uploader.php dan tambahkan blacklist diatas //Upload file.
13. Bukalah php[nomor versi].conf pada web server yang digunakan. Jika
kalian menggunakan apache2 pada sistem operasi linux, maka
tempatnya ada di /etc/apache2/mods-available.
Jenis ekstensi file yang dapat ditangani oleh apache2 adalah phtml,
phar, dan php.
14. Bypass kembali whitelist dan juga blacklist yang telah kita bangun.
Blacklist bisa dilewati (bypass) dengan mengganti ekstensi dengan
ekstensi yang belum diblacklist pada file uploader.php (bisa langsung dan
bisa diubah di burp suite proxy)
Tugas
1. Carilah metode pencegahan file upload lainnya di internet dan jelaskan
secara singkat.