Low
CSRF level Low on DVWA
Di bawah ini adalah source-code dari CSRF level low di DVWA.
Mencari Informasi
Secara default, credetial yang telah diatur untuk DVWA adalah admin:password.
Pertama-tama kita lakukan recon terlebih dahulu pada form change password tersebut dengan mencoba melakukan perubahan password dan melihat HTTP request-nya.
Terlihat bahwa request ini menggunakan method GET
dan kita bisa tahu parameter yang dikirim ketika melakukan request.
Pada level ini tidak ada validasi apa pun selain kecocokan dari kedua form tersebut, sehingga kita bisa dengan mudah melakukan penyerangan.
Melakukan Serangan
Jadi begini skenario penyerangannya, saya (seorang peretas yang berniat jahat) membuat website untuk diakses oleh victim. Tampilan halaman webnya adalah seperti berikut:
Memang terlihat tidak berbahaya. Sang victim hanya melihat teks saja. Tapi mari kita lihat apa yang ada dibaliknya.😉
Perhatikan tag img
pada baris ke-11. Alih-alih src yang seharusnya merujuk ke aset gambar (contoh: png atau jpeg), saya membuatnya merujuk (pointing) ke endpoint form perubahan password yang kita tuju dan melakukan perubahan password menjadi "pwned".
Jadi ketika victim mengunjungi website tersebut, ia tidak sadar bahwa sesuatu telah terjadi. Jika kita lihat network request-nya:
Tag img
tersebut membuat browser mengirim request GET
untuk mengubah password melalui endpoint yang sebelumnya kita dapatkan. Dan karena request ini berasal dari browser victim, dan victim sudah melakukan autentikasi (login), maka PHPSESSID
akan terkirim di HTTP cookie-nya.
Sekarang kita bisa masuk dengan kata sandi baru "pwned".
Happy Hacking! 🍻
Last updated