Pengantar

Dalam banyak kasus keamanan web modern, ancaman tidak selalu datang langsung dari luar jaringan. Salah satu teknik berbahaya yang sering luput dari perhatian adalah Server-Side Request Forgery (SSRF). Melalui celah ini, penyerang dapat memanfaatkan server aplikasi untuk mengirim permintaan berbahaya atas nama server itu sendiri.

Yang membuat SSRF sangat berbahaya adalah kemampuannya memaksa server mengakses resource internal yang seharusnya tidak dapat dijangkau dari luar, seperti metadata cloud, database internal, hingga service admin tersembunyi.


Apa Itu SSRF (Server-Side Request Forgery)?

Definisi SSRF

SSRF adalah kerentanan di mana aplikasi web menerima input berupa URL atau alamat resource, lalu melakukan request tanpa validasi ketat. Penyerang dapat memanipulasi input ini agar server:

  • Mengakses alamat internal

  • Melakukan request ke service sensitif

  • Menjadi “alat serangan” terhadap infrastrukturnya sendiri

OWASP mengklasifikasikan SSRF sebagai salah satu kerentanan serius dalam aplikasi web modern (dikutip dari OWASP).

baca juga : Lateral Movement: Teknik Peretas Berpindah Antar Server Setelah Berhasil Menjebol Satu PC


Mengapa SSRF Sulit Dideteksi?

Karena:

  • Request berasal dari server itu sendiri

  • IP internal terlihat “trusted”

  • Log menunjukkan aktivitas server normal

Akibatnya, firewall dan IDS sering kali tidak memblokir serangan ini.


Bagaimana SSRF Bekerja?

Titik Masuk Umum SSRF

SSRF sering muncul pada fitur seperti:

  • Image fetcher (ambil gambar dari URL)

  • Webhook

  • PDF generator

  • Preview link

  • Integrasi API pihak ketiga

Jika URL tidak divalidasi dengan baik, celah SSRF terbuka.


Contoh Alur Serangan SSRF

  1. Aplikasi menerima input URL dari user

  2. Server melakukan request ke URL tersebut

  3. Penyerang mengganti URL dengan alamat internal

  4. Server mengakses resource sensitif tanpa sadar


Target Populer: Metadata Cloud

SSRF di Lingkungan Cloud

Di cloud seperti AWS, GCP, atau Azure, SSRF sering digunakan untuk mengakses metadata service internal, misalnya:

  • 169.254.169.254 (AWS Metadata)

  • Mendapatkan credential IAM

  • Mengambil token akses internal

PortSwigger menekankan bahwa SSRF adalah salah satu vektor utama kompromi cloud modern (dikutip dari portswigger).

baca juga : CVE-2025-49113: Kerentanan Eksekusi Kode Jarak Jauh pada Roundcube Webmail


Dampak Serius SSRF Exploit

Akses Infrastruktur Internal

Dengan SSRF, penyerang dapat:

  • Mengakses database internal

  • Melakukan port scanning internal

  • Berinteraksi dengan service admin


Kebocoran Kredensial dan Token

SSRF dapat digunakan untuk:

  • Mengambil API key

  • Mengambil token cloud

  • Mengambil konfigurasi sensitif

Hal ini sering menjadi pintu masuk ke serangan lanjutan seperti lateral movement.


Pivot ke Serangan Lebih Besar

SSRF sering menjadi:

  • Tahap awal serangan APT

  • Jalan menuju privilege escalation

  • Pemicu kompromi skala besar


Strategi Pencegahan dan Mitigasi SSRF

Validasi dan Whitelist URL

Langkah penting:

  • Gunakan whitelist domain

  • Tolak IP private dan localhost

  • Validasi skema URL (http/https saja)


Blok Akses ke Alamat Internal

Pastikan server:

  • Tidak bisa mengakses localhost

  • Tidak bisa mengakses IP internal sensitif

  • Dibatasi dengan firewall outbound


Gunakan Network Segmentation

Pisahkan:

  • Server aplikasi

  • Database

  • Service metadata

Dengan segmentasi, SSRF tidak langsung berujung pada kompromi total.


Monitoring Request Tidak Wajar

Pantau:

  • Request ke IP internal

  • Pola URL aneh

  • Lonjakan request dari aplikasi sendiri

baca juga : Complexity Attack: Bagaimana Struktur Data yang Buruk Bisa Dimanfaatkan untuk Serangan ReDoS


Kesimpulan

SSRF adalah teknik eksploitasi yang memanfaatkan kepercayaan server terhadap dirinya sendiri. Dengan memaksa server melakukan request berbahaya, penyerang dapat menembus batas jaringan internal tanpa harus menyerang langsung dari luar.

Di era cloud dan microservices, SSRF menjadi ancaman yang semakin relevan. Pencegahan SSRF tidak cukup hanya di level aplikasi, tetapi juga membutuhkan kontrol jaringan, validasi input ketat, dan pemantauan berkelanjutan.