Categories
OWASP Vulnerability

SQL Injection Vulnerabilities

Bu çalışmada, SQL injection’ın (SQLi) ne olduğuna bakacağız. Bazı yaygın örnekleri PortSwigger‘ın LAB’larını kullanarak deneyeceğiz.

SQL Injection Zafiyeti Nedir?

SQL injection (SQLi), bir uygulamanın veritabanı ile iletişimi esnasında birtakım teknikleri kullanarak sorgulara müdahale etme işlemidir. Son kullanıcının görmemesi gereken, bilmemesi gereken ya da erişmemesi gereken bilgilere erişme durumudur.

SQL Injection Zafiyetinin Etkileri Nedir?

Eğer başarılı bir SQL Injection saldırısı gerçekleştirilirse veritabınındaki bilgiler silinebilir, değiştirilebilir yada görüntülenen bilgiler illegal bir şekilde yayılabilir, satılabilir! Erişilen bilgiler parolalar, kredi kartı bilgileri veya kişisel kullanıcı bilgileri gibi hassas veriler olabilir. Kalıcı bağlantılar olarak adlandırdığımız backdoor yani arka kapılar bırakılabilir. Bu da uzun vade de bilgi ya da verinin sürekli çalınmasına neden olur.

SQL Injection Örnekleri

Yaygın olarak kullanılan bazı teknikler;

  • Gizli Verileri Çekme: Ek sorgular göndererek daha fazlasına erişmek.
  • Uygulama Mantığını Alt Üst Etme: Uygulama mantığına müdahale edecek sorgular göndermek.
  • UNION Saldırıları: Farklı veritabanı tablolarından veri çekmek.
  • Kullanılan Veritabanını İnceleme: Veritabanı versiyonu ve bu versiyon üzerindeki zafiyetleri araştırmak.
  • Blind SQL Injection: Gönderilen SQL sorgularında tablolar ya da kolonlar direkt olarak görüntülenmez, kör atış dediğimiz saldırı tekniğidir. Bu saldırı türünde veritabanında olan sütunları direkt olarak tarayıcıda görüntüleyemeyiz.

Örnek Saldırı Simülasyonları

PortSwigger LAB 1 – WHERE ile Gizli Verileri Çekme
PortSwigger LAB 2 – SQL Injection İle Login Bypass Etme
PortSwigger LAB 3 – SQLi Açığı Bulunan Oracle Veritabanından Versiyon Öğrenme
PortSwigger LAB 4 – MySQL ve Microsoft Veritabanı ve Versiyon Bilgisini Çekme
PortSwigger LAB 5 – Oracle Dışındaki Veritabanlarında SQLi Saldırıları
PortSwigger LAB 6 – Oracle Veritabanlarında SQLi Saldırıları
PortSwigger LAB 7 – UNION Attack ile Sütun Sayısı Döndürme
PortSwigger LAB 8 – UNION Attack ile Metin İçeren Sütun Bulma
PortSwigger LAB 9 – UNION Attack ile Tablodan Veri Çekme
PortSwigger LAB 10 – UNION Attack ile Bir Sütuna Birden Fazla Veri Çekme
PortSwigger LAB 11 – Koşullu Yanıtlar İle Blind SQLi Zafiyeti
PortSwigger LAB 12 – Koşullu Sorgularda Hataları Yorumlayarak Blind SQLi Sömürme
PortSwigger LAB 13 – Görünen SQL Hatasını İstismar Etmek
PortSwigger LAB 14 – Sleep() Fonksiyonunu Kullanarak Blind SQLi Sömürme

Leave a Reply

Your email address will not be published. Required fields are marked *