Categories
OWASP PortSwigger Vulnerability

SQL Injection – Lab #7 SQLi UNION Attack Determining the Number of Columns Returned by the Query

UNION Attack ile Sütun Sayısı Döndürme

Veritabanları tablolardan, tablolarda bildiğiniz üzere sütun ve satırlardan oluşmaktadır. Excel tabloları gibi düşünebiliriz. Biraz T-SQL dediğimiz sorgu yöntemlerini bilmeliyiz. Uygulamada gezerken edindiğimiz kategori bilgilerinden yola çıkarak bu kategorilerde kaç tane sütun var bunu tespit edebiliriz. Şu ana kadar yaptığımız tüm başlıklardaki sorguları aslında #SQLMAP aracı ile de yapabiliriz fakat bu örneklerde tamamı ile tarayıcı ve Burp Suite uygulaması odaklı gitmekteyiz. Çeşitlilik iyidir 🙂

Uygulama açılış ekran görüntüsü

Ekrana gelen çıktıların “category” değişkenine göre geldiğini tarayıcıda görebiliyoruz.  Yine tek tırnak ( ‘ ) yöntemi ile SQLi olup olmadığını tespit edebiliriz. Daha sonra UNION ile sorgular göndermek gerekecek. Eğer Burp Suite ekranında 200 OK değerini alabiliyorsak bu başarılı bir sorgu olduğu anlamına gelmektedir.

2 farklı yöntem ile sütun sayısını bulacağız bunlardan birisi NULL değerini kullanarak diğeri ise ORDER BY değerini kullanarak gerçekleşecek.

Request değerini Repeater’a atma ekran görüntüsü

Gifs kategorisindeki ürünleri listelemesi için butona basıyoruz ve Burp Suite üzerinde trafiği sağ click ile Repeater’a gönderiyoruz.

200 OK dönen ve sütun sayısının belirlendiği sorgunun ekran görüntüsü

Gifts değişkeninden sonra NULL ifadesini sıra ile deniyoruz. 1 tane yazınca hata aldık. 2 defa yazınca hata aldık ama 3. defa yazınca 200 OK döndü. Buradan çıkaracağımız sonuç ise tablolunun 3 sütunlu olduğudur. 

1 tane NULL ile alınan hata ekran görüntüsü

Diğer yöntem ise sütunları sıralama sorgusudur. Bu sorguyu da ORDER BY ile gerçekleştirilir. Bu yöntem de bize tabloda kaç sütun olduğu bilgisini verecektir. Çünkü olmayan bir sütun içerisi sıralanamaz.

1 – 3 arasında gönderiler sorgulardan 1 değeri için dönen 200 OK başarılı sorgu örneği.
4. sütun denemesinin gerçekleştirildiği başarısız sorgu örneği

Bu işlemlerin aynısını tarayıcı yardımı ile de gerçekleştirebiliriz. URL’e ORDER BY 1 yazarsak 4. de hata alırız.

Leave a Reply

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