Di bawah ini adalah source-code dari file upload level low di DVWA.
vulnerabilities/upload/source/low.php
<?php
if( isset( $_POST[ 'Upload' ] ) ) {
// Where are we going to be writing to?
$target_path = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";
$target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] );
// Can we move the file to the upload folder?
if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path ) ) {
// No
echo '<pre>Your image was not uploaded.</pre>';
}
else {
// Yes!
echo "<pre>{$target_path} succesfully uploaded!</pre>";
}
}
?>
Mencari Informasi
Terdapat form untuk melakukan upload file. Ketika saya coba meng-upload file kosong dengan ekstensi .php, maka file tersebut akan terkirim dan bisa diakses.
Terlihat bahwa tidak ada validasi untuk .php di sini, sehingga kita bisa menfaatkannya untuk menjalankan shell berbahaya.
Melakukan Serangan
Pertama-tama, saya akan membuat shell-nya terlebih dahulu menggunakan tool msfvenom.
Sebenarnya kita bisa saja menggunakan simple web shell, tetapi saya mencoba mengajak anda untuk menggunakan tool sebagai pengalaman baru.