MilliSiberGuvenlik.Com

BLIND SQL INJECTION SALDIRILARI

MilliSiberGuvenlik.Com
 BLIND SQL INJECTION SALDIRILARI
MilliSiberGuvenlik.Com
Okunuyor BLIND SQL INJECTION SALDIRILARI

SQL Injection web sitesi içerisinde kullanıcının tepkilerine göre tablolarda oluşturulmuş veya hazır yanıta gelen cevapların arasına SQL ifadeleri yerleştirmek olarak nitelendirilebilir. Bu sayede saldırıyı gerçekleştiren kişi veritabanına kendi belirlediği bilgileri aktarabilir.

Genellikle web sayfaları için kullanılan bir veritabanı saldırı tekniği olsa da SQL veritabanının kullandığı pek çok yazılımda saldırı gerçekleştirilebilir.

BLIND SQL INJECTION SALDIRILARI

BLIND SQL INJECTION SALDIRILARI
BLIND SQL INJECTION SALDIRILARI

Deneme ve yanılma yöntemleri ile birlikte kullanıcının tepkileri sonucunda ortaya çıkan cevaplar ile birlikte veritabanı bilgilerini görüntüleyebilirsiniz. SQL Injection’da birbirine denk ifadeler ile tepki alınsa da Blind SQL Injection’da birbirine eşit olmayan ifadelere yer verilmektedir.

Örneğin SQL Injection sırasında bu ifadeler “4=4” iken Blind SQL Injection saldırıları sırasında “4=5” olabilir.

SQL Injection ve türü saldırılar 90’lı yılların sonunda bir dergide köşe yazısı ile tartışmaya başlanmıştır. Ayrıca AWUGP’nin bir analizine göre 2007 ile 2010 yılları arasında web sistemlerinde en çok görülen 10 saldırı türünden birisi olmuştur.

SQL Injection Sınıfları

SQL Injection türü saldırılar 4 alt dala ayrılmaktadır. Bu dallar sırasıyla/

  • Klasik SQLI
  • Blind or Inference SQL injection
  • Veri Tabanı Yönetim Sistemi
  • Bileşik SQL İnjection

Klasik SQLI

SQL Injection saldırılarının en yaygın ve basit olanıdır. Bu saldırı türünde saldırgan sorguyu başlatırken veya verileri çekerken aynı sorgu kanalını kullanmaktadır.

Hata Bazlı SQLI

Veri tabanı sunucusu , veri tabanı türü ve sürümü ile alakalı bilgi edinmek amacı ile gönderilen hatalardan edinilen bilgiye dayanarak yürütülen SQL injection türüdür.

Union-Based SQLI

İki veya daha fazla “SELECT” sorgusu ile yürütülen ve sonuçların tek sayfada gözükmesi amaçlanan HTTP yanıtı beklenir.

SQL Injection Uygulamaları

Çıkış Karakterlerinin Yanlış Filtrelenmesi

SQLI’da bu tür kullanıcıdan gelen verinin çıkış türüne göre filtrelenmediği taktirde yazılıma giriş yapan kullanıcı şeklinde veritabanına yeni SQL ifadeleri ekler. Bu sayede bu amacı güden kişi veritabanına istediği eklemeleri ve düzenlemeleri yapabilir.

Yanlış Tip İşleme

SQLI’da bu tür SQL injection girişimlerinin başlangıcında kullanıcının veri girmesi gereken alanın tür değişikliğine izin tanımasıdır. Örneğin kullanıcı sayısal bir değer girmesi gerekirken alfabetik bir değer girebiliyor ve gönderebiliyorsa açık oluşur.

Blind SQL Injection

Bir web uygulamasında veya yazılımda açık olduğu vakit kullanılabilir bir saldırı türüdür. Saldırıyı gerçekleştiren kötü amaçlı kişi saldırının sonuçlarını göremez , verileri sayfada gösteremez veya indiremez. Ancak veritabanına bu saldırı yansımaktadır.

Koşullu Mantık

Bu Blind SQL Injection saldırı türü ise veritabanını kayıtlı olmayan veya sorgu yapamayacağı türde bir komut çalıştırmaya zorlar.

Daha önce belirttiğimiz gibi SQL Injection veya Blind SQL Injection teknikleri kullanılarak saldırgan, saldırıyı deneyebilir.

“1=1” veya “1=2” olarak denediği saldırılarda “1=1” türünde asıl web sayfası çalışıyorsa veya “1=2” sorgusu çalıştırıldığında boş “500” hata koduna sahip veya web sitesinin temel hata sayfası görüntüleniyorsa sorgular yüksek ihtimallerde başarılı geçmiş ve SQL Injection saldırılarına hazır hale gelmiştir.

Kötü amaç güden saldırgan web sayfasının veritabanı sürümü ve diğer daha pek çok değerli bilgiye SQL Injection ile erişebilir , çeşitli stratejiler ile erişim sağlayabilir.

İkincil SQL Injection

İkincil tür SQL Injection saldırılarında sorgu web sunucusuna gönderildiği vakit hemen çalıştırılmayıp sorgu sırasına alındığında oluşabilir. Yazılım bu sorguyu encode türünde saklar ve SQL ifadesi olarak tablolarda bulundurur.

Akabinde ilk seferinde oluşturulan açık veritabanı ile ilişkili diğer sayfalarda çalıştırılabilir ve farklı sorguların çalıştırılması istenebilir.

SQL Injection Saldırılarına Karşı Nasıl Önlem Alınır?

SQL Injection saldırıları 2000’lerin başında olduğu gibi henüz daha kullanılabilen bir saldırı türüdür. Ancak güncel sürümleri kullanılan gelişmiş yazılımlarda bu tür saldırının gerçekleştirilmesi pek düşük bir ihtimaldir.

Çünkü SQL Injection türünde saldırılar kolayca önlenebilen veya engellenebilen saldırılardır. Her ne kadar kolayca önlenebilse de 2015 yılında TalkTalk uygulamasında SQL Injection türünde saldırılar gerçekleştirilmiş ve BBC’ye konu olmuştur.

Sorguları Parametreleştirin

Hâlâ daha web sitelerinde kullanıcıların “placeholder” alanında girdiği veriler yerine kalıplaşmış sorgu ifadeleri kullanılmaktadır. Veritabanları kullanıcıların girdiği (placeholder) türde verileri saklayabilir ve depo edebilir. Bu yüzden SQL Injection türü saldırılar veritabanının beklemediği , daha önce çalıştırılmamış ve yazılımın algoritmasında bulunmayan bir sorgu ile gerçekleşmektedir.

Escaping

Yürütülen projelerde satır içerisinde yazılıma özel veya önceden kullanılan anlamlı parametreler kullanılmamalıdır. Çünkü sizin için her ne kadar şifreli bir anlam ifade etse de “SQL DBMS” içerisinde sizin sözde şifreli parametrelerinizin ne için kullanıldığını çözebilecek , bulabilecek bir türdür.

BLIND SQL INJECTION SALDIRILARI
BLIND SQL INJECTION SALDIRILARI

MilliSiberGuvenlik.Com
MilliSiberGuvenlik.Com
Yorum Yap