Pemalsuan permintaan sisi server
SSRF - (Server-side request forgery)
- Apa itu pemalsuan permintaan sisi server,- Beberapa contoh umum SSRF- Cara menemukan dan mengeksploitasi berbagai jenis kerentanan SSRF.
Apa itu SSRF?
Pemalsuan permintaan sisi server (SSRF) adalah kerentanan keamanan web yang memungkinkan penyerang untuk mendorong aplikasi sisi server untuk membuat permintaan ke lokasi yang tidak diinginkan.
Baca Juga; Apa itu RCE, Remote Code Execution Vulnerability (odimera.com)
Dalam serangan SSRF yang khas, penyerang dapat menyebabkan server membuat koneksi ke layanan internal saja dalam infrastruktur organisasi. Dalam kasus lain, mereka mungkin dapat memaksa server untuk terhubung ke sistem eksternal yang sewenang-wenang, berpotensi membocorkan data sensitif seperti kredensial otorisasi.
Dengan mengeksploitasi kerentanan SSRF, penyerang mungkin dapat:
- Pindai mesin lain di jaringan server rentan yang tidak dapat dia akses sebaliknya.
- Lakukan serangan Remote File Inclusion.
- Temukan layanan yang berjalan di setiap host jaringan.
- Bypass Firewall dan memaksa server yang rentan melakukan permintaan jahat Anda.
- Ambil file server (termasuk /etc/passwd dan banyak lagi).
Apa dampak serangan SSRF?
Serangan SSRF umum
Serangan SSRF terhadap server itu sendiri
- Pemeriksaan kontrol akses mungkin diterapkan di komponen berbeda yang berada di depan server aplikasi. Ketika koneksi dibuat kembali ke server itu sendiri, pemeriksaan dilewati.
- Untuk tujuan pemulihan bencana, aplikasi mungkin mengizinkan akses administratif tanpa masuk, ke pengguna mana pun yang datang dari mesin lokal. Ini menyediakan cara bagi administrator untuk memulihkan sistem jika mereka kehilangan kredensialnya. Asumsinya di sini adalah bahwa hanya pengguna yang sepenuhnya tepercaya yang akan datang langsung dari server itu sendiri.
- Antarmuka administratif mungkin mendengarkan pada nomor port yang berbeda dari aplikasi utama, sehingga mungkin tidak dapat dijangkau langsung oleh pengguna.
Serangan SSRF terhadap sistem back-end lainnya
- POST /product/stock HTTP/1.0
- Content-Type: application/x-www-form-urlencoded
- Content-Length: 118
- stockApi=http://192.168.0.68/admin
SSRF dengan filter input berbasis daftar putih
1. Anda dapat menyematkan kredensial di URL sebelum nama host, menggunakan karakter. Misalnya: @
https://expected-host:fakepassword@evil-host
2. Anda dapat menggunakan karakter untuk menunjukkan fragmen URL. Misalnya: #
https://evil-host#expected-host
3. Anda dapat memanfaatkan hierarki penamaan DNS untuk menempatkan input yang diperlukan ke dalam nama DNS yang sepenuhnya memenuhi syarat yang Anda kontrol. Misalnya:https://expected-host.evil-host
Anda dapat mengkodekan karakter URL untuk membingungkan kode penguraian URL. Ini sangat berguna jika kode yang mengimplementasikan filter menangani karakter yang dikodekan URL secara berbeda dari kode yang melakukan permintaan HTTP back-end. Perhatikan bahwa Anda juga dapat mencoba karakter pengkodean ganda; beberapa server secara rekursif memecahkan kode URL input yang mereka terima, yang dapat menyebabkan perbedaan lebih lanjut.
Kerentanan SSRF buta
Kerentanan SSRF buta muncul ketika aplikasi dapat diinduksi untuk mengeluarkan permintaan HTTP back-end ke URL yang disediakan, tetapi respons dari permintaan back-end tidak dikembalikan dalam respons front-end aplikasi.
SSRF buta umumnya lebih sulit untuk dieksploitasi tetapi kadang-kadang dapat menyebabkan eksekusi kode jarak jauh penuh pada server atau komponen back-end lainnya.
Menemukan permukaan serangan tersembunyi untuk kerentanan SSRF
Banyak kerentanan pemalsuan permintaan sisi server relatif mudah dikenali, karena lalu lintas normal aplikasi melibatkan parameter permintaan yang berisi URL lengkap. Contoh lain dari SSRF lebih sulit ditemukan.
URL parsial dalam permintaan
Terkadang, aplikasi hanya menempatkan nama host atau bagian dari jalur URL ke parameter permintaan. Nilai yang dikirimkan kemudian dimasukkan sisi server ke dalam URL lengkap yang diminta. Jika nilainya mudah dikenali sebagai nama host atau jalur URL, maka permukaan serangan potensial mungkin terlihat jelas. Namun, eksploitasi sebagai SSRF penuh mungkin terbatas karena Anda tidak mengontrol seluruh URL yang diminta.
URL dalam format data
Beberapa aplikasi mengirimkan data dalam format yang spesifikasinya memungkinkan penyertaan URL yang mungkin diminta oleh pengurai data untuk format tersebut. Contoh nyata dari hal ini adalah format data XML, yang telah banyak digunakan dalam aplikasi web untuk mengirimkan data terstruktur dari klien ke server. Ketika sebuah aplikasi menerima data dalam format XML dan menguraikannya, aplikasi tersebut mungkin rentan terhadap injeksi XXE, dan pada gilirannya rentan terhadap SSRF melalui XXE. Kami akan membahas ini secara lebih rinci ketika kami melihat kerentanan injeksi XXE.
SSRF melalui header Referer
Beberapa aplikasi menggunakan perangkat lunak analisis sisi server yang melacak pengunjung. Perangkat lunak ini sering mencatat header Referer dalam permintaan, karena ini sangat menarik untuk melacak tautan masuk. Seringkali perangkat lunak analitik benar-benar akan mengunjungi URL pihak ketiga yang muncul di header Perujuk. Ini biasanya dilakukan untuk menganalisis isi situs rujukan, termasuk teks jangkar yang digunakan dalam tautan masuk. Akibatnya, header Referer sering mewakili permukaan serangan yang bermanfaat untuk kerentanan SSRF. Lihat Kerentanan SSRF buta untuk contoh kerentanan yang melibatkan header Perujuk.
Demikian Artikel kali ini tentang "SSRF Vulnerability - Pemalsuan permintaan sisi server" Semoga menambah pengetahuan anda.
#Programming #Hacking #Insight #odimera