CyberFlow Logo CyberFlow BLOG
Soc L1 Tehdit Vektorleri Bruteforce Web Saldiri Izleri

File Inclusion (LFI/RFI) Saldırı İzleri: Güvenlik Tehditleri ve Korunma Yöntemleri

✍️ Ahmet BİRKAN 📂 Soc L1 Tehdit Vektorleri Bruteforce Web Saldiri Izleri

File Inclusion (LFI/RFI) saldırıları, web uygulamaları için ciddi bir tehdit oluşturur. Bu yazıda riskler ve korunma yöntemlerini keşfedin.

File Inclusion (LFI/RFI) Saldırı İzleri: Güvenlik Tehditleri ve Korunma Yöntemleri

File Inclusion (LFI/RFI) saldırıları, web uygulamalarına yönelik kritik tehditlerdir. Bu makalede, bu saldırıların türlerini, risklerini ve etkili savunma yöntemlerini ele alıyoruz.

Giriş ve Konumlandırma

File Inclusion (LFI/RFI) saldırıları, modern web uygulamalarında sıklıkla karşılaşılan kritik güvenlik açıklarındandır. Bu tür saldırılar, bir uygulamanın yerel veya uzak dosyaları yetkisiz bir şekilde dahil etmesine olanak tanır. LFI (Local File Inclusion - Yerel Dosya Dahil Etme) ve RFI (Remote File Inclusion - Uzak Dosya Dahil Etme) olarak iki ana kategoriye ayrılan bu saldırılar, yazılımların kodları, veritabanları ve yapılandırma dosyaları gibi hassas bilgilere erişim sağlamayı amaçlar.

Neden Önemli?

Siber güvenlik alanında LFI ve RFI saldırılarının önemli olmasının başlıca sebepleri arasında, bu tür saldırıların altyapıyı doğrudan tehdit etmesi ve kritik sistem verilerine ulaşabilme potansiyeli yer almaktadır. Aygıt üzerinde yetkisiz erişim sağlandığında, saldırganlar uygulamanın davranışını değiştirebilir, veri hırsızlığı yapabilir veya hatta sunucu üzerinde tam kontrol sahibi olabilirler. Web uygulamalarının güvenliği, kullanıcı bilgileri ve ticari sırların korunması açısından hayati bir öneme sahiptir; bu nedenle, LFI/RFI gibi zafiyetlerin farkında olunması ve uygun güvenlik önlemlerinin alınması elzemdir.

Siber Güvenlik ve Pentesting Açısından LFI/RFI

Siber güvenlik uzmanları ve penetrasyon test uzmanları (pentester) için LFI ve RFI saldırı türlerinin anlaşılması, zafiyetleri tespit etmek ve önlemek açısından kritik bir beceridir. Penetrasyon testlerinde, bu tür saldırı vektörlerinin kullanılması, uygulamanın ne ölçüde güvenli olduğunu değerlendirmede yardımcı olur. Analiz sürecinde, URL parametreleri ve dosya yollarının dikkatli bir şekilde incelenmesi, olası saldırı izlerinin tespit edilmesine olanak sağlar:

# Örnek bir LFI Saldırı Vektörü
http://target-website.com/index.php?page=../../etc/passwd

Bu tür bir istek, hedef sunucunun dosya sistemine yapılan bir yönlendirmedir. Eğer uygulama, kullanıcı tarafından sağlanan page parametresini doğru bir şekilde filtrelemiyorsa, saldırgan, sunucunun hassas dosyalarına erişim sağlayabilir.

LFI ve RFI Türleri

File Inclusion saldırılarının en yaygın türleri aşağıda belirtilmiştir:

  1. Yerel Dosya Dahil Etme (LFI): Bu türde saldırılar, sunucuda zaten bulunan, ancak güvenlik nedeniyle erişime kapalı olan dosyalara yetkisiz erişim sağlamayı amaçlar. Örneğin, bir log dosyasının okunması veya uygulamanın konfigurasyon dosyalarına erişim gibi durumlar LFI saldırısı ile gerçekleşebilir.

  2. Uzak Dosya Dahil Etme (RFI): RFI saldırılarında ise saldırgan, hedef sistem üzerinden dış bir sunucudan kötü amaçlı bir dosya yüklemeyi dener. Bu tür bir saldırı, kötü niyetli kodların çalıştırılmasına ve sunucu kontrolünün ele geçirilmesine yol açabilir.

  3. Dizin Geçişi (Traversal): Dosya yollarında kullanıcı tarafından sağlanan verilerin manipüle edilmesi süreci, kritik dosyalara erişim sağlamak için kullanılabilir. İlgili dosya yolları üzerinde dizin geçişi teknikleri uygulanarak, izlenilen yolu değiştirerek saldırılar gerçekleştirilir.

Okuyucuya Hazırlık

Bu yazıda, LFI ve RFI saldırılarının izlerinin nasıl tespit edileceği, bu tehditlerin neden bu kadar önemli olduğu ve korunma yöntemleri üzerinde durulacaktır. Ayrıca, saldırıları etkili bir şekilde önlemek amacıyla izlenmesi gereken savunma mekanizmaları, dosya yolu temizleme yöntemleri ve doğru giriş doğrulama süreçleri üzerine de bilgi verilerek okuyucuların teknik bilgi düzeyinin artırılması hedeflenmektedir.

Güvenliği arttırmak için proaktif önlemler almak, siber güvenlik alanında başarılı bir stratejinin önemli bir parçasıdır. LFI/RFI saldırı izlerinin tespit edilmesi ve erken aşamada müdahale için düzenli olarak güncellenen güvenlik duvarları (WAF), izleme sistemleri ve kod incelemeleri yapılmalıdır.

Teknik Analiz ve Uygulama

File Inclusion Tanımı

File Inclusion, ya da Türkçe’de bilinen adıyla dosya dahil etme, bir web uygulamasının yerel veya uzak dosyaları yetksiz bir şekilde dahil etmesine yol açan bir saldırı türüdür. Bu tür zafiyetler, genellikle web uygulamalarının kullanıcıdan gelen girdilere yeterli kontroller yapmaması durumlarında ortaya çıkar. Saldırgan, uygulamanın dosya yollarını manipüle ederek, asıl niyetine ulaşabilir.

LFI/RFI Riskleri

LFI (Local File Inclusion - Yerel Dosya Dahil Etme) ve RFI (Remote File Inclusion - Uzak Dosya Dahil Etme) türündeki saldırılar, kritik sistem riskleri oluşturarak, kötü niyetli kişilerin hassas verilere erişmesini sağlar. Bu tür zafiyetler, dosya erişim kontrollerinin yeterli olmadığı durumlarda, sunucularda kritik bilgilerin ifşa edilmesine neden olabilir.

File Inclusion Türleri

LFI (Yerel Dosya Dahil Etme)

LFI, sunucudaki yerel dosyaların yetkisiz bir şekilde okunmasına olanak sağlayan bir saldırı türüdür. Saldırgan, genellikle uygulamanın dosya yolu parametrelerini manipüle ederek, sistemdeki hassas dosyalara ulaşmayı hedefler. Örneğin;

<?php
include($_GET['file']);
?>

Yukarıdaki örnekte, file parametresi üzerinden saldırgan, ../../etc/passwd gibi bir değer girerek, sistemin kritik dosyalarına ulaşabilir.

RFI (Uzak Dosya Dahil Etme)

RFI ise harici bir sunucudan zararlı dosyaların yüklenmesine imkan tanıyan bir saldırı türüdür. Saldırgan, uzak bir sunucuda barındırılan kötü amaçlı bir dosyayı, uygulama aracılığıyla sunucuya dahil edebilir. Aşağıdaki örnekte olduğu gibi:

<?php
include($_GET['url']);
?>

Eğer url parametresi, kötü amaçlı bir dosyayı gösteriyorsa, saldırgan bu dosyayı sunucuya yüklemiş olur.

Traversal Analizi

Traversal saldırıları, dosya yollarındaki zararlı geçiş (traversal) manipülasyonlarını içerir. Bu saldırılar, sunucunun dizin yapısını kötüye kullanarak, kritik dosyalara erişim sağlamak amacı gütmektedir. Örneğin, dosya yolu manipülasyonu yaparak, sistemin dışında barındırılan dosyalara erişim sağlanabilir. Aşağıdaki payload örneği, bir traversal saldırısını göstermektedir:

/index.php?file=../../../../etc/passwd

Bu tür bir payload ile, saldırgan, sistemin derinliklerine inerek kritik dosyalara erişim sağlayabilir.

File Inclusion Savunması

File inclusion saldırılarına karşı etkili savunma yöntemleri geliştirmek, sistem güvenliği için kritik öneme sahiptir. Başlıca savunma yöntemleri arasında şunlar yer alır:

Path Sanitization (Dosya Yolu Temizleme)

Koruma mekanizmaları arasında en etkili yöntemlerden biri, kullanıcıdan gelen dosya yollarını temizlemektir. Path sanitization, dosya yollarındaki zararlı traversal veya manipülasyonları temizleyerek, potansiyel riskleri minimuma indirir. Aşağıda, basit bir path sanitization örneği verilmiştir:

$file = basename($_GET['file']);
$allowed_files = ['file1.php', 'file2.php'];

if (in_array($file, $allowed_files)) {
    include($file);
} else {
    echo "Geçersiz dosya!";
}

Bu örnekte, yalnızca izin verilen dosyaların dahil edilmesine olanak tanınmaktadır.

WAF (Web Application Firewall)

WAF, belirli payload'ları engelleyerek potansiyel saldırıları önleyebilir. Web uygulama güvenlik duvarı, gelen istekleri analiz ederek, bilinen zararlı girdileri filtreler.

File Inclusion Korelasyonu

Web uygulama güvenliği analizi, LFI/RFI saldırılarını tespit etmede en önemli unsurlardan biridir. SOC (Security Operations Center) analiz yaklaşımı, dosya yolları, URL parametreleri ve davranış anomalleri üzerinden bu tür zafiyetleri gözlemlemeye olanak tanır. Log analizi yaparak sisteme yönelik saldırı izlerini erken aşamalarda yakalamak mümkündür.

Büyük Final: LFI/RFI Analizi

Sonuç olarak, File Inclusion zafiyetleri, yeterli güvenlik önlemleri alınmadığı takdirde, kritik riskler taşıyan tehditlerdir. Uygulama geliştiricilerin, kullanıcıdan gelen girdi kontrollerine ve dosya yolu sanitizasyonuna büyük önem vermesi gereklidir. Aynı zamanda, WAF gibi ek güvenlik çözümleri implementasyonu, bu tür saldırılara karşı etkili bir koruma katmanı oluşturacaktır.

Bu analizin ışığında, siber güvenlik alanında daha sağlıklı bir uygulama geliştirme kültürüne katkıda bulunmak, hem geliştiriciler hem de son kullanıcılar için hayati önem taşımaktadır.

Risk, Yorumlama ve Savunma

File inclusion zafiyetleri, web uygulamalarında en yaygın güvenlik açıklarından biridir. Bu zafiyetler, kötü niyetli kullanıcıların sunucudaki yerel dosyalara (LFI) veya uzak dosyalara (RFI) yetkisiz erişimler sağlamasına olanak tanır. Bu bölümde, LFI ve RFI saldırıları riski ele alınacak, elde edilen bulguların güvenlik önemi yorumlanacak ve etkili savunma yöntemleri sunulacaktır.

LFI/RFI Riskinin Yorumlanması

LFI ve RFI zafiyetlerinin açıklıklarının anlamı, potansiyel bir saldırganın sunucuda kritik verilere erişim sağlamasıdır. Özellikle LFI saldırıları, sunucudaki hassas dosyaların okunmasına imkân tanıyarak, sistem bilgileri, yapılandırma dosyaları veya kullanıcı verileri gibi kritik bilgilere ulaşılmasını sağlayabilir. Bu durum, bir sistemin bütünlüğü ve gizliliği için tehdit teşkil eder.

RFI ise, sunucuya dışarıdan kötü niyetli dosyaların yüklenmesine olanak tanır. Eğer zayıf bir uygulama, dış kaynaklardan dosya almayı destekliyorsa, bu durum ciddi bir güvenlik açığı yaratır. Kötü amaçlı dosyalar, sistemin kontrolünü ele geçirebilir ya da zararlı yazılımlar yayılmasına neden olabilir.

Yanlış Yapılandırmalar ve Zafiyetler

File inclusion zafiyetlerinin çoğu, yanlış yapılandırmalar sonucu ortaya çıkar. Örneğin, sunucu dosya yolu için yeterli doğrulamaların yapılmaması veya kullanıcı girdilerinin yeterince filtrelenmemesi, zafiyetin temel sebeplerindendir. Örneğin, aşağıdaki PHP kodu, potansiyel bir LFI zafiyeti oluşturabilecek örnek bir uygulamayı göstermektedir:

<?php
$file = $_GET['file'];
include($file);
?>

Bu kodda, kullanıcıdan alınan file parametresi doğrudan include fonksiyonuna verilmektedir. Eğer kullanıcı file değişkenine ../../etc/passwd gibi bir değer gönderirse, sistem kritik bir dosyayı dahil edecektir. Bu tarz açıklıklar, veri sızmalarına ve sistem ihlallerine yol açabilir.

Sonuçların Analizi

File inclusion saldırıları sonucunda elde edilen veriler, farklı şekillerde değerlendirilebilir:

  • Zayıf yapılandırmalar: Web uygulamalarında dosya erişim kontrollerinin eksikliği.
  • Sızan veri: Kullanıcı bilgileri, sistem bilgileri veya yazılım yapılandırmalarının sızdırılması.
  • Servis tespiti: Saldırgan, sistem üzerinde hangi hizmetlerin çalıştığını ve nasıl yapılandırıldığını belirleyerek yeni saldırı yüzeyleri oluşturabilir.

Profesyonel Önlemler ve Hardening Önerileri

LFI ve RFI zafiyetlerine karşı alınabilecek önlemler arasında şunlar bulunmaktadır:

  1. Input Validation (Girdi Doğrulama): Kullanıcı girdilerinin mutlaka doğrulanması ve filtrelenmesi gerekmektedir. Geçersiz dosya yollarının ve dizin geçişlerinin (../) bulunmadığından emin olunmalıdır.

  2. Path Sanitization (Dosya Yolu Temizleme): Sunucuya erişim sağlayan tüm dosya yolları belirli kurallar çerçevesinde sınırlandırılmalı ve zararlı girdiler temizlenmelidir.

    Örnek bir sanitizasyon kodu:

    <?php
    $file = basename($_GET['file']);
    $allowed_files = ['home.php', 'about.php'];
    
    if (in_array($file, $allowed_files)) {
        include($file);
    } else {
        echo "Erişim engellendi.";
    }
    ?>
    
  3. Web Application Firewall (WAF): WAF, zararlı payloadları ve şüpheli istismarları tespit ederek engelleme yeteneği sağlar. Uygulamaya yönelik anormallikleri анализ edebilir.

  4. Düzenli Güvenlik Testleri: Uygulama ve sunucu bileşenleri üzerinde düzenli olarak penetrasyon testleri ve güvenlik taramaları yapılmalıdır. Bu süreç, zafiyetlerin erken aşamada tespit edilmesini sağlar.

  5. Minimal İzin Politikası: Uygulamanın gereksinim duyduğu en az yetki ile çalışması gerektiği prensibi benimsenmelidir. Bu, bir saldırgan tarafından sistemin kötüye kullanımını zorlaştırır.

Sonuç

File inclusion zafiyetleri, ihlal edilebilir bir güvenlik noktası teşkil etmesi açısından büyük riskler barındırmaktadır. Yanlış yapılandırmalar, güvenlik zafiyetlerine yol açarken, sızdırılan veri ve etki alanları, sistemin güvenliğini ciddi şekilde tehdit etmektedir. Uygulama güvenliğini artırmak için önerilen savunma yöntemleri titizlikle uygulanmalı ve sürekli olarak geliştirilmeli ve güncellenmelidir. Herhangi bir güvenlik açığının önlenebilmesi için düzenli analiz ve denetim uygulamaları esastır.