28-01-2019 Saat:16:17
sqlmap -u “http://aspnet.testsparker.com/Products.aspx?pId=4” --dbs
veri tabanlarının listesini elde etmiş olduk. Bundan sonra, sırayla tabloları, kolonları ve kayıtları aşağıdaki parametreleri kullanmamız gerekiyor:
sqlmap -u “http://aspnet.testsparker.com/Products.aspx?pId=4” -D testsparker --tables
sqlmap -u “http://aspnet.testsparker.com/Products.aspx?pId=4” -D testsparker --tables
sqlmap -u “http://aspnet.testsparker.com/Products.aspx?pId=4” -D testsparker -T tablo --columns
sqlmap -u “http://aspnet.testsparker.com/Products.aspx?pId=4” -D testsparker -T tablo -C kullanici,parola --dump
-D: Bu parametre ile veri tabanı adını belirtmiş olduk.
--tables: Belirttiğimiz veri tabanındaki tablo isimlerini getirmek için bu parametre kullanılır.
-T: Tablo isimleri de alındıktan sonra kolonlarına ulaşılması istenen tablo adı bu parametre ile birlikte yazılır.
--columns: Adı belirtilen tablodaki kolonlar getirilir.
-C: İstenilen kolon adı yazılır.
--dump: Kolonlarda yer alan veriler ekrana yansıtılır.
Tüyo: Tek tire (-) veya çift tire (--) kullanıldığında parametre ile parametrenin aldığı değer arasında boşluk ya da eşittir işaretinden (=) hangisinin kullanılması gerektiğini karıştırıyorsanız tek tireli parametrelerde boşluğun, çift tireli parametrelerde ise değer girilmeden önce eşittir işaretinin kullanıldığını aklınızda tutabilirsiniz.
Not: Herhangi bir database’den veri çekebilmek için sqlmap ile test ettiğimiz uygulamanın veri tabanı kullanıcısının gereken yetkileri haiz olması zorunluluğunu unutmamak gerekir.
Yetki Kontrolü
Yukarıda da belirttiğimiz üzere bazı komutların sonuç verebilmesi için bağlı olduğumuz veri tabanı kullanıcısının gerekli izinlere sahip olması gerekir. Bunların kontrolünü sağlamada kullanabileceğimiz birkaç parametre mevcut. Veri tabanı kullanıcılarını öğrenebilmek için --users parametresini, kullanıcıların parolaları için --passwords parametresini, kullanıcı yetkileri için --privileges parametresini ve kullanıcı rolleri için ise --roles parametresini kullanabiliriz. Hangi kullanıcının yetki ve/veya rollerini öğrenmek istiyorsak o kullanıcı adını -U parametresiyle birlikte eklememiz gerekmektedir. Eklemediğimiz takdirde “current user” yani veri tabanı bağlantısını gerçekleştiren kullanıcının yetki veya rolleri ekrana yansıyacaktır. Son olarak kullanıcının, veri tabanı yöneticisi (DBA) olup olmadığını --is-dba parametresini kullanabilmekteyiz. Dönüt olarak "True" ya da "False" değerini alırız. Bahsettiğimiz parametrelere dair bir örneği ve örneğe ilişkin ekran görüntüsünü aşağıda görmektesiniz:
veri tabanlarının listesini elde etmiş olduk. Bundan sonra, sırayla tabloları, kolonları ve kayıtları aşağıdaki parametreleri kullanmamız gerekiyor:
sqlmap -u “http://aspnet.testsparker.com/Products.aspx?pId=4” -D testsparker --tables
sqlmap -u “http://aspnet.testsparker.com/Products.aspx?pId=4” -D testsparker --tables
sqlmap -u “http://aspnet.testsparker.com/Products.aspx?pId=4” -D testsparker -T tablo --columns
sqlmap -u “http://aspnet.testsparker.com/Products.aspx?pId=4” -D testsparker -T tablo -C kullanici,parola --dump
-D: Bu parametre ile veri tabanı adını belirtmiş olduk.
--tables: Belirttiğimiz veri tabanındaki tablo isimlerini getirmek için bu parametre kullanılır.
-T: Tablo isimleri de alındıktan sonra kolonlarına ulaşılması istenen tablo adı bu parametre ile birlikte yazılır.
--columns: Adı belirtilen tablodaki kolonlar getirilir.
-C: İstenilen kolon adı yazılır.
--dump: Kolonlarda yer alan veriler ekrana yansıtılır.
Tüyo: Tek tire (-) veya çift tire (--) kullanıldığında parametre ile parametrenin aldığı değer arasında boşluk ya da eşittir işaretinden (=) hangisinin kullanılması gerektiğini karıştırıyorsanız tek tireli parametrelerde boşluğun, çift tireli parametrelerde ise değer girilmeden önce eşittir işaretinin kullanıldığını aklınızda tutabilirsiniz.
Not: Herhangi bir database’den veri çekebilmek için sqlmap ile test ettiğimiz uygulamanın veri tabanı kullanıcısının gereken yetkileri haiz olması zorunluluğunu unutmamak gerekir.
Yetki Kontrolü
Yukarıda da belirttiğimiz üzere bazı komutların sonuç verebilmesi için bağlı olduğumuz veri tabanı kullanıcısının gerekli izinlere sahip olması gerekir. Bunların kontrolünü sağlamada kullanabileceğimiz birkaç parametre mevcut. Veri tabanı kullanıcılarını öğrenebilmek için --users parametresini, kullanıcıların parolaları için --passwords parametresini, kullanıcı yetkileri için --privileges parametresini ve kullanıcı rolleri için ise --roles parametresini kullanabiliriz. Hangi kullanıcının yetki ve/veya rollerini öğrenmek istiyorsak o kullanıcı adını -U parametresiyle birlikte eklememiz gerekmektedir. Eklemediğimiz takdirde “current user” yani veri tabanı bağlantısını gerçekleştiren kullanıcının yetki veya rolleri ekrana yansıyacaktır. Son olarak kullanıcının, veri tabanı yöneticisi (DBA) olup olmadığını --is-dba parametresini kullanabilmekteyiz. Dönüt olarak "True" ya da "False" değerini alırız. Bahsettiğimiz parametrelere dair bir örneği ve örneğe ilişkin ekran görüntüsünü aşağıda görmektesiniz: