Pengujian Keamanan - Eksekusi File Berbahaya
Pengembang sering kali secara langsung menggunakan atau menggabungkan input yang berpotensi rentan dengan file atau menganggap bahwa file input itu asli. Jika data tidak diperiksa dengan benar, hal ini dapat mengakibatkan konten yang rentan diproses atau dipanggil oleh server web.
Contoh
Beberapa contoh klasik termasuk -
- Unggah file .jsp ke pohon web.
- Unggah .gif untuk diubah ukurannya.
- Unggah file besar.
- Unggah file yang berisi tag.
- Unggah file .exe ke pohon web.
Tangan di atas
Step 1- Luncurkan WebGoat dan arahkan ke bagian Eksekusi file berbahaya. Gambaran skenario diberikan di bawah ini -
Step 2 - Untuk menyelesaikan pelajaran ini, kita perlu mengunggah guest.txt di lokasi tersebut di atas.
Step 3- Mari kita membuat file jsp sehingga file guest.txt dibuat saat menjalankan jsp. Penamaan jsp tidak memiliki peran untuk dimainkan dalam konteks ini karena kami menjalankan konten file jsp.
<HTML>
<% java.io.File file = new
java.io.File("C:\\Users\\username$\\.extract\\webapps\\WebGoat\\mfe_target\\guest.txt");
file.createNewFile(); %>
</HTML>
Step 4- Sekarang unggah file jsp dan salin lokasi tautan yang sama setelah mengunggah. Unggahan mengharapkan gambar, tetapi kami mengunggah jsp.
Step 5 - Dengan menavigasi ke file jsp, tidak akan ada pesan apa pun ke pengguna.
Step 6 - Sekarang segarkan sesi di mana Anda telah mengunggah file jsp dan Anda akan mendapatkan pesan yang mengatakan, "* Selamat. Anda telah berhasil menyelesaikan pelajaran".
Mekanisme Pencegahan
- Amankan situs web menggunakan izin situs web.
- Mengadopsi tindakan pencegahan untuk keamanan aplikasi web.
- Pahami akun pengguna dan grup bawaan di IIS 7.0.