Sunucu GüvenliğiDestek

SQL Injection (SQL Enjeksiyonu) Nedir?

Ayrıca: SQLi, SQL enjeksiyonu, SQL zafiyeti

SQL Injection (SQL enjeksiyonu), bir uygulamanın veritabanı sorgularına dışarıdan gelen girdi yeterince denetlenmediğinde araya kötü niyetli SQL komutlarının sokulmasıyla gerçekleşen bir güvenlik zafiyetidir.

Saldırgan, form alanı, URL parametresi veya HTTP başlığı gibi kullanıcı girdisinin doğrudan sorguya eklendiği bir noktayı hedefler. Örneğin bir giriş formunda beklenen kullanıcı adı yerine sorgunun mantığını değiştiren bir ifade göndererek kimlik doğrulamayı atlatabilir, tüm veritabanını okuyabilir, kayıtları değiştirebilir veya silebilir. İleri seviye durumlarda saldırgan veritabanı sunucusu üzerinden işletim sistemine dahi erişebilir. Bu nedenle SQL Injection, en yıkıcı sonuçlar doğurabilen web zafiyetlerinden biri kabul edilir.

Nasıl önlenir?

En etkili savunma, sorguları parametreli (prepared statement) biçimde yazmak ve kullanıcı girdisini kod değil veri olarak ele almaktır. Buna girdi doğrulama, en az yetki ilkesiyle çalışan veritabanı kullanıcıları ve düzenli güncellemeler eşlik etmelidir. Uygulama katmanının önüne konumlanan bir WAF, bilinen enjeksiyon kalıplarını istek seviyesinde durdurarak ek bir kalkan sağlar. Benzer girdi temelli zafiyetler için XSS konusunu da inceleyebilirsiniz.

Bir uygulamanın SQL Injection'a açık olup olmadığını kesin biçimde görmenin yolu, kontrollü bir sızma testi yaptırmaktır. Web sitenizin güvenliğini bütünsel ele almak için web sitesi güvenliği nasıl sağlanır rehberimiz de yol gösterir.

Uygulamanızın enjeksiyon zafiyetlerine karşı test edilmesini isterseniz bizimle iletişime geçebilirsiniz.

Siteniz mi hacklendi? Şimdi yazın.

Teşhis ücretsiz. Belirtileri iletin, saldırı tipini ve net fiyatı aynı gün öğrenin.

7/24 kayıt alınır · aynı gün müdahale · temizlenemezse ücret iade