Asp ile yazılan bir sayfada da SQL Injection tipi bir açık olma ihtimali var değil mi?
Önemli olan kodun nasıl yazılmış oldugu sanırım?
Ayrıca, login kısmı olan bir baska sitede, arkada mutlaka database kullanılmıştır diyebilir miyiz ?
Kullanılıp kullanılmadıgını nasıl anlarız ? Kullanılmışsa, SQL veya Oracle olup olmadıgını anlama sansı var mı ?
ASP, PHP, JSP; hangi teknoloji olursa olsun, veirtabanı kullanan ve QueryString’den aldığı değeri doğrudan doğruya sorguya dahil eden her Web sayfası SQL Injection’dan etkilenebilir. Önemli olan arkasındaki mimari.
Login olan bir site %90 veritabanı kullanmıştır arkasında. %10’luk ihtimal; Hard Code girilmiş User değerleri veya XML, TXT gibi dosyalarda saklanan Login bilgileri olabilir. Ya da, bazı lokal intranetlerde Active Directory veya Domino Server tabanlı bir kontrol de olabilir; ama bu tarz kontrollere Internet ortamında bulacağın sitelerde rastlama ihtimali sıfıra yakın.
Arkada çalışan veritabanı SQL Server mı Oracle mı (ya da MySql mi, PostGreSQL mi, Access mi, vs) anlamanın genel geçer bir yolu yok sanırım. SQL Injection ile zorlayıp çıkan hata iletilerinden tahmin yürütülebilir. Ya da, Hosting firmasının veritabanının IPsini biliyorsan, o IP’ye Oracle ve SQL Server portlarından (ezbere bilmiyorum) Telnet açmayı deneyebilirsin, Telnet açabildiğin portun veritabanını kullanıyordur. Daha basit bir yol; mesela SQL Server Manager ile o IP’ye bağlanmayı denersin, bağlanıp User sorduysa SQL Server’dır. Ama veritabanı IP’si, muhtemelen sitenin IP’sinden farklı olacaktır.
Leave a Reply