SQL İnjection Nedir? - Bilgi Güvenliği ve Siber Güvenlik Uzmanı
Anasayfa/Siber Güvenlik/SQL İnjection Nedir?
Alp Eren Güney Send an email 6 gün önce
SQL, veritabanlarında data silme, çekme ve değiştirme gibi işlemler için kullanılan bir dildir. Basit yapılı olan SQL dili neredeyse tüm web uygulamalarının alt yapısında yer almaktadır. SQL injection ise web uygulamasında bulunan açığı ifade eder. İşte SQL ve SQL injection ile ilgili detaylar ve diğer bilgiler…
SQL (Structured Query Language) veritabanlarında çeşitli işlemler yapmak için kullanılan basit bir dildir. Her web uygulamasının alt yapısında bulunan SQL dili ile birçok farklı sorgulamalar yapılabilir. Örneğin bir siteye mesaj bırakıldığında o mesaj veritabanına kaydedilir ve veritabanı güncellenmiş olur. Verileri kategorize etmenin ve verileri sorgulamanın en kolay yollarından biri olan SQL dili birçok kişi tarafından araştırılan ve merak edilen bir konudur. SQL dili içerisinde kullanılan çeşitli sorgulama komutları bulunmaktadır.
SQL injection nedir ? Veritabanını tahrip edebilecek ve zarara uğratabilecek olan kötü amaçlı kodların siteye yerleştirilmesini ifade eder. Web sitelerinin bütün bilgilerinin yer aldığı veritabanlarını sql injection saldırılarına karşı korumak ve veritabanının güvenliğini sağlamak bu açıdan çok önemlidir. Sql dilini oluşturan dinamik cümleciklerin arasına sıkıştırılmış olan meta karakterler sql injection saldırılarına neden olabilir. Saldırganlar, sql injection ile bir web sitesindeki:
Kullanıcı bilgilerini çalabilir.
Veritabanı içerisinde bulunan mevcut veriler üzerinde değişiklik yapabilir.
Veritabanının tamamen silinmesine neden olabilir.
Yetkisini yükselterek gizlenmiş ve gizli tutulması gereken bilgilere ulaşabilir.
SQL İnjection Nasıl Bulunur?
SQL açıklarının ve SQL injection gibi saldırı açıklarının aranması için geliştirilmiş özel araçlar bulunmaktadır. BU araçlardan en çok bilinenlerinden biri ise SQL Map’tir. Açık kaynaklı bir yazılım olan SQL map ile SQL açıkları kolay bir şekilde bulunabilir ve saldırı olup olmadığı anlaşılabilir. SQL map veritabanında bulunan kullanıcıların, rollerin, tabloların ve sütunların bilgilerini hızlı bir şekilde tespit eder ve açıkların bulunmasını sağlar.
SQL MAP Github Bağlantısı
Kali linux işletim sistemine sahip olan kullanıcılar için hazır ve kurulu bir şekilde gelen SQL map’in yanı sıra Vega, Netsparker gibi araçlar da bulunmaktadır. SQL injeciton saldırılarından korunmak ilk başta web yöneticisinin görevidir.
En Tehlikeli Güvenlik Açıkları
SQL İnjection Nasıl Önlenir?
SQL injection saldırılarından korunmak için yapılması gereken birçok işlem vardır. Bu işlemlerden bazıları şunlardır:
Kullanıcıdan alınan her veride ‘ (tek tırnak) ve ” (çift tırnak) karakterleri kullanılmalıdır. Bu karakterler SQL dili için önemli karakterlerdendir. Karakterler kullanıcıdan alındıktan sonra ya karakter şekline çevrilmeli ya da başına \ işareti konulmalıdır.
Sistemler güncel tutulmalı ve güvenlik yamalarına dikkat edilmelidir.
Veriler GET veya POST üzerinden alınıyorsa mutlaka filtreleme yapılmalıdır.
Veritabanı düzenli olarak yedeklenmeli ve bilgi kontrolü sağlanmalıdır.
Bu ve buna benzer önlemler ile veritabanları saldırılara karşı korunabilir.
SQL injection SQL injection açığı SQL injection dersleri sql injection nasıl yapılır sql injection nedir