Categories
OWASP PortSwigger Vulnerability

SQL Injection – Lab #3 SQL Injection Attack, Querying the Database Type and Version on Oracle

SQLi Açığı Bulunan Oracle Veritabanından Versiyon Öğrenme

Aslına bakarsanız bir önceki örnekte versiyon nasıl çekilir bilgi sahibi olmuştuk. Bu lab ile öğretilmek istenilen Oracle veritabanlarının davranış biçimleridir. Bir önceki örnekte PostgreSQL bir veritabanının versiyonunu öğrenmiştik. Farklılıklar bize saha da çıktıları yorumlama kabiliyeti sunacaktır.

Lab ekran görüntüsü

Uygulamayı açtığımızda üst kısımda bize almamız gereken çıktıyı söylüyor. Zafiyet yine category parametresinde bulunuyor. Tek tırnak ( ‘ ) işareti ile anlayabiliyoruz. Diğer uygulamalarda olduğu gibi önce sütun sayısını daha sonra da sütun türlerini bulmalıyız. 2 sütun olduğunu öngörüyoruz. Tarayıcıda öyle görünüyor ve yine tarayıcıdaki verinin text olması 2 sütununda text olduğunu düşünmemize neden oluyor ama yine de emin olmalıyız. Hızlıca sorgularımızı Burp Suite aracı ile gönderiyoruz. Bu sefer ORDER BY ile tespit gerçekleştiriyoruz. 

Sütun sayısının tespit edildiği ekran görüntüsü

3. sütunu alfabetik sıralamasını beklediğimizde sunucu hatası aldık. Bu bilgi ile 2 sütundan oluştuğunu kesinleştirmiş olduk.

Text türündeki sütunun tespit edilmesi ekran görüntüsü

1. ve 2. sütuna text yazarak sorgu göndermemize rağmen sunucu hatası aldık. Eğer veritabanı PostgreSQL olsaydı bize diğer örneklerde olduğu gibi çıktı dönecekti ama dönmedi. Bu durum veritabanının Oracle olma olasılığını yükseltti. Şimdi Oracle veri tabanlarında SELECT işlemi nasıl yapılıyor araştırmalıyız.

Örnek Google arama ekran görüntüsü

Adresteki bilgileri incelerken herkes tarafından görüntülenebilecek tablo isimleri olduğunu görüyoruz. DUAL için sorgu gönderiyoruz.

Tüm kullanıcıların erişimi olan Oracle tablo isim bilgisinin verildiği ekran görüntüsü
1. ve 2. sütunun text olduğunu doğrulayan 200 OK sorgu ekran görüntüsü

DUAL tablosunu çağırarak 1. ve 2. sütuna text yazdığımızda 200 OK çıktısını alıyoruz. Bu durum veritabanının Oracle olduğunu doğruluyor. Şimdi sütunlardan birinde versiyon çağırılabilir. Daha önceki örneklerde kullandığımız SQL injection cheat sheet adresinden Oracle veritabanında versiyon nasıl çağrılıyor öğreniyor ve uyguluyoruz.

Lab tamamlama ekran görüntüsü
'+UNION+SELECT+banner,+'bilisimcikiz'+FROM+v$version--

Leave a Reply

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