Sql İnjection’ın Modern Türevi Blind Time Based ve Bypass Teknikleri
1-Klasik Sql İnjection’ın Artık İşe Yaramaması
Eskiden sql injection saldırıları çok basit yöntemlerle bile yapılabiliyordu bir web sitesinin giriş formuna tırnak vb. ifadeler yazıldığında sistem tüm veritabanını açığa çıkarabiliyordu bu durum geliştiricilerin güvenlik önlemlerini yeterince uygulamamasından kaynaklanıyordu ancak günümüzde pek çok geliştirici parametrik sorgular kullanarak prepared statements yapısını tercih ederek ve giriş verilerini sıkı bir şekilde filtreleyerek bu tür açıkları kapattı bu gelişmeler sonucu klasik sql injection yöntemleri çoğu modern sitede etkisiz hale geldi fakat bu durum sql injection tamamen ortadan kalktı anlamına gelmiyor çünkü hala pek çok sistemde daha gelişmiş teknikler işe yarıyor ve bunlar arasında en bilinenleri blind sql injection ve time based sql injection yöntemleridir
2-Blind Kör Sql İnjection Mantığı
Blind sql injection saldırganın sistemden doğrudan veri alamadığı fakat sayfanın farklı şekillerde tepki verdiği durumlarda kullanılan bir tekniktir saldırgan yaptığı sorgulara karşılık gelen doğru veya yanlış sonuçlardan yola çıkarak veritabanındaki bilgileri adım adım tahmin eder örneğin sistem belirli bir sorgu yapıldığında sayfanın görünümü değişiyorsa bu saldırgana tahmininin doğru olup olmadığını gösterir bu şekilde tek bir bilgiyi almak bile uzun sürebilir çünkü saldırgan harf harf veya karakter karakter ilerler bu yöntem özellikle hata mesajlarının kapatıldığı durumlarda yani sistemin hataları kullanıcıya göstermediği senaryolarda çok etkilidir çünkü saldırgan hata mesajı yerine sayfanın yüklenme biçiminden veya gelen içeriğin farklı olmasından bilgi çıkarır
3-Time Based Sql İnjection ile Zaman Üzerinden veri Çekme
Time based sql injection tekniğinde saldırgan sistemin yanıt süresini manipüle ederek veri elde eder bu yöntem veritabanına belirli koşullarda gecikme komutları eklemeye dayanır örneğin eğer saldırganın tahmini doğruysa sistem yanıt vermeden önce birkaç saniye bekler tahmin yanlışsa sistem hemen yanıt verir bu fark sayesinde saldırgan doğru bilgiyi ayırt eder bu yöntem özellikle doğrudan veri gösterilmeyen sistemlerde etkili olur çünkü saldırgan veriyi görmeden sadece sistemin tepki süresinden faydalanarak bilgi elde edebilir bu yöntem genellikle blind sql injection ile birlikte kullanılır çünkü her ikisi de doğrudan veri gösterilmeyen durumlarda çalışır ancak time based yöntemi ağ gecikmeleri ve sunucu performansı gibi dış etkenlerden etkilenebilir bu yüzden saldırgan genellikle birçok test yaparak ortalama süreleri analiz eder
4-Waf Web Application Firewall Bypass Yöntemleri
Modern web sitelerinin çoğu saldırıları tespit etmek ve engellemek için waf yani web application firewall kullanır bu güvenlik duvarları bilinen saldırı ifadelerini filtreler ve engeller ancak saldırganlar bu filtreleri aşmak için pek çok yöntem geliştirir en bilinen yöntemlerden biri saldırı ifadelerini farklı şekillerde yazmaktır bu farklılıklar kelimelerin arasına boşluk koymak özel karakter eklemek harflerin sırasını değiştirmek veya bazı kelimeleri parçalara bölmek olabilir bu sayede waf saldırı ifadesini tanımaz ve sorgu veritabanına ulaşır bazı saldırganlar ayrıca url encode gibi yöntemlerle saldırı metnini farklı formatlarda gönderir bu yöntemler imza tabanlı çalışan waf sistemlerine karşı özellikle etkilidir çünkü bu sistemler belirli kelime veya ifadeleri arayarak çalışır
5-Modern Güvenlik Önlemleri
Bu tür saldırıların önlenmesi için geliştiricilerin uygulaması gereken birkaç temel adım vardır en başta parametrik sorgular kullanmak gerekir çünkü bu yöntem sql sorgularını kullanıcı girişlerinden ayırır ve böylece enjeksiyon riskini ortadan kaldırır kullanıcıdan gelen veriler mutlaka doğrulanmalı sadece beklenen formatta veri kabul edilmelidir veritabanı kullanıcılarının yetkileri minimum seviyede tutulmalı gereksiz izinler kapatılmalıdır waf ve güvenlik kuralları düzenli olarak güncellenmeli ayrıca geliştiricilerin güvenli kod yazma konusunda eğitim alması sağlanmalıdır bu önlemler hem klasik hem de modern sql injection tekniklerine karşı koruma sağlar





