Alan Adı Kaydı Alan Adı Transferi Alan Adı Yenileme .TR Alan Adı Kaydı Whois Sorgulama Alan Adı Uzantıları
Bireysel Hosting Kurumsal Hosting Wordpress Hosting Multi Hosting
Türkiye VDS Sunucu Avrupa VDS Sunucu Özel Masaüstü Sunucu FOREX Sunucu
Türkiye Fiziksel Sunucu Avrupa Fiziksel Sunucu Yarı Fiziksel Sunucu Sunucu Barındırma Kirala Senin Olsun
Kurumsal E-posta IP Adresi Hizmeti Metro Ethernet Hizmeti Yedekleme Hizmeti
Veri sorumlusu sıfatıyla tarafımızca toplanan, saklanan ve işlenen kişisel verileriniz için KVKK'nın Veri Sorumlusunun Aydınlatma Yükümlüğü başlıklı 10.maddesi uyarınca faaliyette bulunmaktayız.
Detay Tamam

SQL Injection Nedir?

Her yıl binlerce kişiye ait kişisel veriler, çok güvenli diye düşünülen sistemler üzerinden çalınır. Çalınan veriler dolandırıcılık için kullanılabileceği gibi, farklı şirketlere satışı da yapılabilir.

SQL Injection Nedir? 

Ayrı bir veri tabanına sahip siteler saldırıları önlemek için güvenlik duvarı kullanılır. Siber saldırı düzenleyerek verilere ulaşmak isteyenlerin temel hedefi bu güvenlik duvarlarıdır. SQL Injection (SQLi) web sitelerindeki güvenlik önlemlerini aşmayı hedefleyen dijital korsanlık yöntemlerinden biridir. Bu yöntem ile veri tabanına giriş yapılabilir. Verilerin kopyalanması, değiştirilmesi, silinmesi, yetki izinlerinin değiştirilmesi mümkün olur. Oracle, MySQL gibi SQL ile çalışan veri tabanları kullananlar, bu saldırılara oldukça açıktır.

SQL Injection kısaca, giriş verilerinin kullanılmasıyla yeni bir sorgu tanımlanarak yapılır. Bu sorgu girişi, daha önce kullanılan komutların işletilmesine etki eder. Bunu veri düzlemi enjeksiyonu ile yaptığı için yönteme SQL injection denmiştir. Bu yöntemle, örneğin müşterilerinize ait tüm veriler ele geçirilebilir. Bir bankada bulunan carilerin hepsi değiştirilebilir. Veri tabanınız bloke edilerek, kullanımınız engellenebilir. Bu şirketler ve kurumlar için hem maddi kayıplara hem ciddi itibar kaybına sebep olur. 

SQL Injection yalnızca şirketler için değil kişiler için de önemli bir tehdittir. Bu yöntemle, kredi kartı bilgilerinizin tamamı çalınabilir. Elektronik posta bilgileriniz ele geçirilerek, korsan olarak satışa sunulabilir. 

SQL Injection Türleri Nelerdir?

En popüler saldırı türü olan bant içi (In-band) SQL Injection ile aynı iletişim kanalını kullanır ve iki şekilde gerçekleşir:

Hata tabanlı (Error-based): Hata tabanlı SQL Injection tekniği, uygulama veritabanı sunucuları tarafından atılan hata mesajlarına dayanır. Saldırganlar, hangi sorguların hata mesajları aldığını test ederek, veritabanı yapısına dayalı olarak hedeflenen SQL Injection'ları oluşturabilir.

Union-based: Bir uygulama SQL Injection'una karşı savunmasız olduğunda ve uygulamanın yanıtları bir sorgu için sonuçları döndürdüğünde, saldırganlar uygulama veritabanının tablolarından veri almak için UNION anahtar sözcüğünü kullanır.

Inferential (Çıkarımsal) SQL Injection: Blind SQL Injection saldırısı olarak da bilinir. Bu saldırıda, bir veri yükü gönderdikten sonra, saldırgan veritabanının veri yapısını belirlemek için davranışı ve yanıtları gözlemler.

Blind SQL Injection saldırısı iki türde görülür:

- Boole tabanlı: Saldırganlar, uygulamayı DOĞRU veya YANLIŞ’ın farklı sonuçlarını döndürmeye zorlayan SQL sorguları göndererek, belirli yüklerin meşru sonuçlar döndürüp döndürmediğini anlayabilir.

- Time-based: Zamana dayalı olarak adlandırabileceğimiz bu yöntem, veritabanından yanıt vermeden önce belirli süre beklemesini isteyen SQL sorguları gönderir. Zamana dayalı SQL Injection saldırısı, genellikle bir uygulama genel hata mesajları verdiğinde kullanılır. Bu teknik, veritabanını belirli bir süre beklemeye zorlar. Yanıt süresi, saldırganın sorguyu DOĞRU veya YANLIŞ olarak belirlemesine yardımcı olur.

Her iki durumda da, saldırganların verileri karakter karakter numaralandırması gerektiği düşünüldüğünde, Inferential SQL Injection saldırı yöntemleri oldukça zorludur.

Out-of-band (Bant Dışı) SQL enjeksiyon saldırıları en az kullanılan SQL injection tekniğidir. Bant dışı SQL enjeksiyon saldırısı, uygulamanın verileri herhangi bir protokol (HTTP, DNS veya SMB) aracılığıyla iletmesini ister.

SQL Injection ile Neler Yapılabilir?

SQL Injection bulunan bir sistemde saldırgan direkt olarak sorguya müdahale edebildiği için veritabanınızda kayıtlı tüm verilere erişebilir. Kullanılan veritabanı yönetim sistemine göre değişkenlik gösterebilen durumlar da mevcut.

Örneğin MSSQL kullanılan bir sistemde cmdshell fonksiyonu kullanılarak sistemde komut çalıştırılabilir. Veya MySQL kullanılan bir sistemde doğru yapılandırılmaz ise mysql_load_file fonksiyonu ile çeşitli dosyalar okunabilir.

SQL Injection Saldırıları Nasıl Gerçekleştirilir?

SQLi saldırısının gerçekleşmesi için, korsanlar web sitelerini teknik anlamda ayrıntılı bir şekilde inceler. Sitede herhangi bir güvenlik açığı bulduklarında, bu açıktan içeri sızmaya çalışırlar. Giriş sağlandığında, uygulamadaki istemciye SQL sorgu girişi enjekte eder. Bu sorguyu kullanarak veri tabanının nasıl bir yapıda tasarlanmış olduğunu anlayabilir. Gizli bilgilerine ulaşabilir. Tek bir sorgu ile teker teker tüm güvenlik kapılarını aşabilir. 

SQL Injection Zafiyeti Nasıl Tespit Edilir?

SQL Injection tespiti kimi zaman çok kolay kimi zaman ise zor olan bir güvenlik açığıdır. Genelde ilgili parametre sonuna ‘ (tırnak işareti) konulmasıyla tespit edilmektedir. Tırnak işareti sonrası sayfada bir değişiklik, hata mesajı veya dönen sonuçta bir farklılık aranılır. 

SQL Injection Nasıl Engellenir?

Firewall şirketlerinin 2017 - 2019 yılları arasında toplanan verilerine göre her üç siber saldırıdan ikisinin SQL injection yöntemine ait olduğu görülüyor. Hackerların en çok tercih ettiği bu saldırı karşısında bir takım önlemler almanız mümkün. SQL injection saldırısını engellemek için önlemler:

- Bilgi teknolojileri altyapınızda fiziksel cihazlarınkiler dâhil tüm yazılımların güncel olmasına dikkat edin.

- Web uygulamanızdaki tüm formlarda ben robot değilim doğrulamasını sağlayın.

- Uygulama kullanıcılarına çift faktörlü giriş yapmalarını zorlayın.

- Web uygulaması üzerinde gerçekleşen şüpheli sorguları ve istekleri analiz edebilen web tabanlı bir firewall (WAF) yazılımını devreye alın.

- Uygulamanızın arka planda sorduğu soruları gözden geçirin. Özellikle NULL karakterlerin yer aldığı sorguları tekrar düzenleyin.

- Sisteminizdeki kullanıcıları gözden geçirin. Yönetici ve tam yetkili rolündeki kullanıcı adlarında ‘administrator’, ‘admin’, ‘yönetici’ gibi akla gelebilecek kullanıcıları devre dışı bırakın. Ayrıca yetkili rolündeki kullanıcı adlarının gerçek isim veya uygulama ismi olmasına dikkat edin.

- Uygulamanın hızlı olması için kullanılan sorgu dizesi birleştirme yöntemi her zaman iyi fikir olmayabilir. Mümkün mertebe bu dizede birleştirmelerden uzak durun veya bu sorguyu yetkiye bağlayın.

- IT altyapınız üzerinde yapılan tüm hareketleri merkezi log toplama veri tabanında toplayın. Şüpheli işlemler için anlık alarm tanımlayın ve yetkili kullanıcıya e-posta gönderimi sağlayın.

 


  • SQL Injection, SQL Injection saldırısı
  • Bu dökümanı 417 kullanıcı yararlı buldu.
Bu cevap yeterince yardımcı oldu mu?

Bunlar da yardımcı olabilir