Sonuç Yok
Tüm Sonuçları Gör
Siberatay
  • Anasayfa
  • Hizmetlerimiz
  • Siber Gündem
  • Siber Güvenlik
  • Yapay Zeka
  • Yazılım & Dev
  • Atay Akademi
  • Araçlar
FORUM
  • Anasayfa
  • Hizmetlerimiz
  • Siber Gündem
  • Siber Güvenlik
  • Yapay Zeka
  • Yazılım & Dev
  • Atay Akademi
  • Araçlar
DESTEK HATTI
FORUM
Sonuç Yok
Tüm Sonuçları Gör
Siberatay
Sonuç Yok
Tüm Sonuçları Gör

SQL Injection Nedir? Web Zafiyetleri Serisi #1

İçinde Siber Güvenlik
0
SQL Injection Nedir? Web Zafiyetleri Serisi #1
154
PAYLAŞIM
321
GÖRÜNTÜLENME
ChatGPT ile özetleyinWhatsapp'ta PaylaşTelegram'da Paylaş

SQL Injection Nedir? Web Zafiyetleri Serisi #1

Bugünden itibaren Siberatay’da yeni bir seriye başlıyoruz: Web Zafiyetleri. Her yazıda OWASP Top 10’da yer alan bir web güvenlik açığını, nasıl oluştuğunu, gerçek dünyada nasıl hasar bıraktığını ve nasıl önlenebileceğini detaylıca ele alacağız. Serinin ilk konusu, yıllardır listenin başından hiç düşmeyen, sayısız veri ihlaline imza atmış klasik: SQL Injection.

SQL Injection Nedir? Web Zafiyetleri Serisi #1

SQL Injection Nedir?

SQL Injection (SQLi), bir web uygulamasının kullanıcıdan aldığı veriyi, veritabanına gönderdiği SQL sorgusuna güvenlik kontrolünden geçirmeden eklemesi sonucu ortaya çıkan bir zafiyet türü. Saldırgan, normalde bir isim veya şifre girmesi beklenen bir alana özel karakterler ve SQL komutları yerleştirerek, uygulamanın veritabanıyla konuşma şeklini kendi lehine değiştirebiliyor.

Sonuç olarak saldırgan, yetkisi olmayan verileri okuyabiliyor, değiştirebiliyor, silebiliyor; hatta bazı durumlarda veritabanı sunucusu üzerinden işletim sistemine kadar erişim sağlayabiliyor.

SQL Injection Nedir? Web Zafiyetleri Serisi #1

SQL Injection Nasıl Oluşur?

Sorunun kökü, kullanıcıdan gelen verinin SQL sorgusuna doğrudan, string birleştirme (concatenation) yoluyla eklenmesi. Örnek bir giriş formu düşünelim; arka planda çalışan sorgu şöyle yazılmış olsun:

$query = "SELECT * FROM users WHERE username = '" . $username . "' AND password = '" . $password . "'";

Kullanıcı adı alanına normal bir isim yerine şunu yazarsa:

' OR '1'='1

Sorgu arka planda şu hale gelir:

SELECT * FROM users WHERE username = '' OR '1'='1' AND password = ''

“1’=’1” ifadesi her zaman doğru olduğu için, sorgu şifre kontrolünü etkisiz hale getirir ve saldırgan hiçbir şifre bilmeden sisteme giriş yapabilir. Bu, SQL Injection’ın en temel ve en çok bilinen örneği; gerçek saldırılar genelde çok daha karmaşık ve hedefe özel sorgular içerir.

SQL Injection Türleri

Klasik (In-band) SQL Injection

Saldırganın hem sorguyu gönderdiği hem de sonucu doğrudan aynı kanaldan (örneğin sayfa içeriğinde) gördüğü en basit tür. Hata mesajları veya sayfa çıktısı üzerinden veri sızdırılır.

Blind (Kör) SQL Injection

Uygulama herhangi bir hata mesajı veya doğrudan veri göstermiyorsa saldırgan “kör” çalışmak zorunda kalır. İki alt türü var:

  • Boolean-based: Saldırgan doğru/yanlış sorular sorar (“kullanıcı adı ‘a’ harfiyle mi başlıyor?”) ve sayfanın davranışındaki (görünen içerik, yönlendirme) farka bakarak cevabı anlar.
  • Time-based: Sayfa davranışında görünür bir fark yoksa, saldırgan veritabanına “eğer bu doğruysa 5 saniye bekle” komutu gönderir ve cevabı yanıt süresinden çıkarır.

Out-of-band SQL Injection

Sonucun ne sayfa içinde göründüğü ne de zamanlamadan anlaşılabildiği durumlarda kullanılır. Veritabanı, sonucu DNS veya HTTP isteği gibi tamamen farklı bir kanaldan saldırganın kontrolündeki bir sunucuya gönderecek şekilde yönlendirilir.

Second-Order SQL Injection

Zararlı veri hemen çalıştırılmaz; önce veritabanına normal bir veri gibi kaydedilir, daha sonra başka bir işlem bu veriyi güvenli olduğunu varsayarak tekrar bir sorguda kullandığında tetiklenir. Bu yüzden tespiti diğer türlere göre daha zordur.

Gerçek Dünyadan Bir Örnek: TalkTalk Veri İhlali

2015’te İngiliz telekom şirketi TalkTalk, klasik bir SQL Injection saldırısıyla 157 bin müşterisinin kişisel verilerinin, 15 binden fazlasının da banka hesap bilgilerinin çalınmasına engel olamadı. Saldırgan, sqlmap adlı açık kaynaklı bir aracı kullanarak şirketin 2009’da satın aldığı, unutulmuş ve güncellenmemiş eski bir web sayfasındaki SQLi açığını buldu.

İşin ilginç yanı, aynı sistemin daha önce iki kez benzer şekilde saldırıya uğramış olması ama şirketin bunu fark edip önlem almamış olmasıydı. İngiltere’nin veri koruma otoritesi ICO, TalkTalk’a “en temel güvenlik önlemlerini bile almamak” gerekçesiyle 400 bin sterlin ceza kesti; toplam maliyet şirkete 77 milyon sterline mal oldu.

Bu örnek aslında SQL Injection’ın teknik karmaşıklığından çok, temel hijyen eksikliğinden kaynaklanan bir risk olduğunu gösteriyor: unutulmuş bir sayfa, güncellenmemiş bir veritabanı ve göz ardı edilen erken uyarılar.

SQL Injection Nedir? Web Zafiyetleri Serisi #1

SQL Injection Nasıl Tespit Edilir?

Bir web uygulamasının SQLi’ye karşı savunmasız olup olmadığını anlamanın birkaç yolu var:

  • Manuel test: Form alanlarına tek tırnak (‘) gibi özel karakterler girip uygulamanın hata verip vermediğine bakmak, ilk ve en basit kontrol.
  • Otomatik tarama: Daha önce ele aldığımız OWASP ZAP gibi araçlar, bir web uygulamasını otomatik tarayarak SQLi şüphesi taşıyan noktaları işaretleyebilir.
  • sqlmap: Şüpheli bir nokta bulunduğunda, bu açığın gerçekten istismar edilebilir olup olmadığını doğrulamak için kullanılan, sektörde en yaygın açık kaynaklı SQLi test aracı.
  • Kod incelemesi: Statik kod analizi, sorguların parametrik olup olmadığını (yani string birleştirme kullanılıp kullanılmadığını) doğrudan kaynak koddan tespit edebilir.

SQL Injection’dan Nasıl Korunulur?

  • Parametreli sorgular (Prepared Statements) kullanın: En etkili ve endüstri standardı çözüm budur. Kullanıcı verisi asla sorgunun bir parçası olarak değil, ayrı bir parametre olarak veritabanına gönderilir.
  • ORM kütüphaneleri kullanın: Doğru yapılandırıldığında, ORM araçları (Eloquent, Hibernate, SQLAlchemy gibi) çoğu zaman parametreli sorguları varsayılan olarak uygular.
  • Girdi doğrulama (input validation) uygulayın: Beklenmeyen karakter ve formatları en baştan reddedin — ama bunu tek başına bir savunma olarak değil, ek bir katman olarak düşünün.
  • En az yetki prensibini uygulayın: Uygulamanın veritabanı hesabı, sadece ihtiyacı olan işlemleri yapabilecek kadar yetkiye sahip olmalı; tüm tabloları silebilecek bir hesapla bağlanmamalı.
  • WAF (Web Application Firewall) kullanın: Bilinen SQLi kalıplarını yakalayıp engelleyerek ek bir koruma katmanı sağlar — ama kod seviyesindeki düzeltmenin yerini tutmaz.
  • Eski ve unutulmuş sayfaları düzenli denetleyin: TalkTalk örneğinde olduğu gibi, riskin çoğu zaman aktif kullanılan değil, unutulmuş sistemlerden geldiğini unutmayın.

Sık Sorulan Sorular

SQL Injection hâlâ güncel bir tehdit mi?
Evet. Onlarca yıllık bir zafiyet olmasına rağmen OWASP Top 10 listesinde hâlâ üst sıralarda; çünkü eski kod tabanları ve özensiz geliştirme pratikleri hâlâ yaygın.

NoSQL veritabanları bu riske karşı bağışık mı?
Hayır. MongoDB gibi NoSQL veritabanları da benzer bir mantıkla çalışan “NoSQL Injection” saldırılarına karşı savunmasız olabilir.

Küçük bir web sitesi de hedef olur mu?
Kesinlikle. Çoğu SQLi saldırısı belirli bir hedefe değil, otomatik taramalarla internet genelinde savunmasız sistemlere karşı gerçekleştirilir.

Sonuç

SQL Injection, siber güvenliğin en eski açıklarından biri olmasına rağmen hâlâ en çok hasar veren zafiyetlerden biri olmayı sürdürüyor — çünkü çözümü basit olsa da (parametreli sorgular), gerçek dünyada gözden kaçırılan tek bir eski sayfa bile bir şirketi TalkTalk’un yaşadığı krize sürükleyebiliyor. Web Zafiyetleri serisinin bir sonraki yazısında XSS’i (Cross-Site Scripting) ele alacağız. Kurumunuzun web uygulamalarını SQL Injection ve benzeri açıklara karşı profesyonel bir ekiple test ettirmek isterseniz, Siberatay olarak yanınızdayız.

Etiketler: SQL injection
SummarizeGönderPaylaş
Önceki Yazı

Exploit Nedir? Türleri, Çalışma Mantığı ve Gerçek Örnekleriyle Detaylı Rehber

Sonraki Yazı

Yapay Zekayı Doğru Yönlendirme Sanatı: Prompt Nedir ve Nasıl Yazılır?

.rs

.rs

İlgili Haberler/Makaleler

CVE-2026-32475: Elementor Pro’da Kritik RCE

CVE-2026-32475: Elementor Pro’da Kritik RCE

0

CVE-2026-32475: Elementor Pro'da Kritik RCE Açığı WordPress kullanıcılarını etkileyen kritik güvenlik açığı. ● KRİTİK GÜVENLİK AÇIĞI CVSS: 9.0 Etkilenen: Elementor Pro 4.2.1 ve öncesi Çözüm: 4.2.2 ve sonrası...

Exploit Nedir? Türleri, Çalışma Mantığı ve Gerçek Örnekleriyle Detaylı Rehber

Exploit Nedir? Türleri, Çalışma Mantığı ve Gerçek Örnekleriyle Detaylı Rehber

0

CVE'yi ve zafiyeti anlattığımız yazıda bir şeyi kasıtlı olarak yarım bıraktık: zafiyetin kendisiyle, o zafiyeti gerçekten kullanılabilir hale getiren şey aynı değil. İşte o fark tam olarak "exploit"...

Web Pentest’te OWASP ZAP’in Yeri: Kurulum, Kullanım ve Avantajları

Web Pentest’te OWASP ZAP’in Yeri: Kurulum, Kullanım ve Avantajları

0

Bir web uygulamasının güvenlik testine başlarken elinizin altında mutlaka bir proxy aracı olması gerekir; trafiği görmeden, isteği değiştirmeden gerçek anlamda bir web pentest yapamazsınız. Burp Suite bu işin...

CVE Nedir? CVSS, CWE, NVD ve Zafiyet Takibi Rehberi

CVE Nedir? CVSS, CWE, NVD ve Zafiyet Takibi Rehberi

0

Bir güvenlik haberi okuduğunuzda ya da bir yazılımın güncelleme notlarına baktığınızda karşınıza hep aynı kod formatı çıkar: CVE-2021-44228, CVE-2017-0144 gibi. Peki bu kodlar ne anlama geliyor, kim veriyor...

Sonraki Yazı
Yapay Zekayı Doğru Yönlendirme Sanatı: Prompt Nedir ve Nasıl Yazılır?

Yapay Zekayı Doğru Yönlendirme Sanatı: Prompt Nedir ve Nasıl Yazılır?

Bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Tavsiye Edilen

Windows Güvenlik Güncellemesi

Windows Güvenlik Güncellemesi Yayında: 114 Açık Kapatıldı

Yapay Zekayı Doğru Yönlendirme Sanatı: Prompt Nedir ve Nasıl Yazılır?

Yapay Zekayı Doğru Yönlendirme Sanatı: Prompt Nedir ve Nasıl Yazılır?

Popüler İçerikler

  • Sıfırdan Uzmanlığa Siber Güvenlik Yol Haritası: 2026 Rehberi

    Sıfırdan Uzmanlığa Siber Güvenlik Yol Haritası: 2026 Rehberi

    260 Paylaşım
    Paylaş 104 Tweetle 65
  • Sıfırdan Uzmanlığa Siber Güvenlik Yol Haritası: Part 3

    260 Paylaşım
    Paylaş 104 Tweetle 65
  • Temu’nun Türkiye Ofisine Operasyon!

    217 Paylaşım
    Paylaş 87 Tweetle 54
  • AI Şarkı Söyletme Nedir, Nasıl Yapılır?

    201 Paylaşım
    Paylaş 80 Tweetle 50
  • İnternette Anonim Olmak Mümkün mü?

    194 Paylaşım
    Paylaş 78 Tweetle 49
Siberatay

Siberatay © 2026 Tüm hakları saklıdır.

Kategoriler

  • Siber Gündem
  • Yapay Zeka
  • Siber Güvenlik
  • Yazılım & Dev
  • Forum
  • Araçlar

Bizi Takip Edin!

Tekrar Hoş Geldiniz!

Hesabınıza giriş yapın

Şifremi Unuttum

Şifrenizi kurtarın

Şifreyi sıfırlamak için bilgileri girin

Giriş Yap

Yeni Oynatma Listesi Ekle

Sonuç Yok
Tüm Sonuçları Gör
  • Hizmetlerimiz
  • Siber Gündem
  • Siber Güvenlik
  • Yapay Zeka
  • Yazılım & Dev
  • Atay Akademi
  • Araçlar
  • Forum

Siberatay © 2026 Tüm hakları saklıdır.

🍪

Çerez tercihlerinizi siz yönetin

SİBERATAY olarak sitenin düzgün çalışması, ziyaret istatistikleri ve izin vermeniz hâlinde reklam ölçümü için çerezler kullanıyoruz. Ayrıntılar için KVKK Aydınlatma Metni ve Çerez Politikası sayfalarını inceleyebilirsiniz.

Çerez Ayarları

Zorunlu olmayan çerezleri dilediğiniz zaman açıp kapatabilirsiniz.

Zorunlu Çerezler

Güvenlik, oturum ve temel site özellikleri için gereklidir. Kapatılamaz.

✓ Her zaman aktif

Analitik Çerezler

Ziyaretlerin ve sayfa performansının anonim istatistiklerle ölçülmesine yardımcı olur.

Pazarlama Çerezleri

Reklamların ölçülmesi ve daha alakalı içerik gösterilmesi amacıyla kullanılabilir.