SİBERSALDİRİ.COM · KONU ODAKLI DERS
Bu derste kazanacaklarınız
- Kaynak kimliği ile Sabit eşleme arasındaki ilişkiyi açıklamak.
- “İzin listesi neden yol temizlemeden daha güçlü olabilir?” sorusuna gerekçeli yanıt vermek.
- Örneği değiştirip beklenen ve gözlenen davranışı karşılaştırmak.
Çalışma mantığı ve güven sınırı
Dışarıya dosya yolu yerine anlamlı kaynak kimliği sunun. Sunucuda bu kimliği sabit bir izin listesine eşleyin. İzin verilen kökün gerçek yolunu ve sembolik bağlantı etkisini değerlendirin. Dosya okuma ile PHP include aynı etkiyi taşımaz; çalıştırma sınırını ayrıca düşünün. Hata mesajlarında tam sistem yollarını göstermeyin.
Açıklamalı örnek
Aşağıdaki parça kavramı görünür kılar. Komut veya kod içeren örnekleri üretim sisteminde değil, size ait ayrı deneme ortamında değerlendirin. Mimari şema ve politika örnekleri çalıştırılabilir program değildir.
<?php
$pages = ['intro' => __DIR__ . '/pages/intro.php'];
$key = $_GET['page'] ?? 'intro';
if (!is_string($key) || !isset($pages[$key])) { http_response_code(404); exit; }
require $pages[$key];Beklenen sonuç ve yorumu
Yalnızca sunucunun tanımladığı intro sayfası seçilebilir.
Karşılaştırmalı durumlar
| Durum | Beklenen yaklaşım | Neden? |
|---|---|---|
| Sabit izinli kimlik | Eşlenmiş dosya | Sunucu kaynak seçer |
| Serbest yol | Kabul etme | Dosya sınırı istemciye geçer |
| Sembolik bağlantı | Gerçek hedefi incele | Görünür yol yeterli olmayabilir |
Uygulama görevi
Bilinmeyen kimlik, dizi girdisi ve geçerli kimlik için beklenen sonuçları yazın.
- İşlemden önce beklenen sonucu ve kabul koşulunu yazın.
- Tek bir değişkeni değiştirin; gözlemi ve kullandığınız ortamı kaydedin.
- Sonucu yukarıdaki karşılaştırma tablosuyla değerlendirin. Uymayan durumda hangi varsayımın yanlış olabileceğini açıklayın.
Sık yapılan hata ve düzeltme yönü
Kullanıcı metnini include yoluna birleştirmeyin.
Kendinizi sınayın
İzin listesi neden yol temizlemeden daha güçlü olabilir?
Açıklamalı yanıt: Kabul edilen kaynak kümesini açıkça sınırlar; saldırganın serbest dosya yolu üretmesini gereksiz kılar.
İlgili derslerle ilerleyin
- Dosya yükleme: İçerik, depolama ve çalıştırma sınırı
- Command injection: Veriyi komut sözdiziminden ayırma
- Güvenli kodlama: Güven sınırına göre kontrol
- PHP dosyaları: Giriş noktası ve sorumluluk
Teknik başvuru
Bu dersin anlatımı ve örnekleri akademi için yeniden hazırlanmıştır. Aşağıdaki bağlantı, kullanılan teknoloji veya güvenlik yaklaşımının ayrıntılarını doğrulamak için teknik başvurudur.
