Pemintas filter SSRF
Halo, nama saya W1C3 dan hari ini, saya akan menjelaskan cara mendapatkan akses baca file arbitrer melalui Server-Side Request Forgery (SSRF) dengan melewati filter. Tantangan ini dikembangkan untuk WaniCTF .
Nama
Tangkapan layar
Keterangan
Aplikasi yang mengambil tangkapan layar dari situs web favorit Anda.
Panduan
Setelah mengakses situs web, dapat diamati bahwa ini adalah halaman yang sangat sederhana. Fungsi satu-satunya adalah menerima URL, mengakses URL menggunakan browser web, dan mengambil tangkapan layar.
Dalam tantangan ini, karena kode sumber disediakan, kami dapat melihat bahwa ia melakukan pemeriksaan yang perlu kami lewati, karena " HTTP " harus disertakan dalam permintaan kami dan " FILE " tidak dapat disertakan.
Untuk memverifikasi ini, kami akan mencoba membaca file /etc/passwd , tetapi tidak berhasil.
Seperti yang kami sebutkan sebelumnya, filter yang perlu kita lewati harus berisi string " http " atau tidak menyertakan string " file ".
Sekarang kita berada di langkah sebelumnya, mengetahui bahwa SSRF ada dan memahami filter yang perlu kita lewati, kita akan menambahkan " File:// " ke awal dan " ../../../../flag. txt ” atau “ ../../../../etc/passwd ” sampai akhir. Dengan ini, kita akan dapat membaca file “flag.txt” untuk menyelesaikan tantangan kita.
CATATAN : File harus berisi setidaknya satu huruf besar untuk melewati filter
Untuk mempermudah, kami akan menghapus beberapa data dari permintaan. Dalam hal ini, payload kita akan terlihat seperti ini:
File:///http/../../flag.txt
Kesimpulan
Dalam tantangan ini, kami telah mendemonstrasikan cara mem-bypass filter sederhana yang mencoba mencegah SSRF dengan melarang protokol " file " dan memerlukan protokol " http ". Dengan hati-hati membuat permintaan kami dengan huruf kapital di parameter " file " dan menggunakan protokol " File:// ", kami dapat membaca file arbitrer di server.
Terima kasih telah membaca postingan ini. Nantikan lebih banyak posting yang akan datang di blog, dan jangan ragu untuk mengikuti saya di media sosial untuk pembaruan. Juga, harap perhatikan bahwa GitHub pribadi saya akan memiliki postingan yang diterbitkan dalam bahasa Spanyol. Selamat tinggal!
Github: J-W1C3
Twitter: Josewice7
Telegram: W1C3Post
Bergabunglah dengan saluran Telegram saya untuk tetap mendapat informasi terbaru saat posting baru diterbitkan.