Sqlmap Kali ile birlikte gelen ve SQL injection saldırılarını kolaylaştıran bir araçtır. SQL zafiyeti olduğunu bildiğimiz bir web sitesinin veri tabanındaki bilgileri ele geçirmek Sqlmap ile çok kolaydır.
SQL zafiyeti olan siteleri Google’da php?id araması yaptıktan sonra bulduğumuz linklerin sonuna ‘ (tek tırnak) işareti ekleyerek bulabiliriz. Bunun dışında şu Google Dorkları kullanabilirsiniz;
gallery.php?id= site:.gr (gr:Greece)
products.php?id= “+30”
cat.php?id= “+30″
default.php?catID=”+30”
Tek tırnak ekleyip enter tuşuna bastığımızda eğer veri tabanı hatası aldıysak SQL zafiyeti var demektir.
sqlmap komutunu herhangi bir sakıncalı durum yaşamamak için gerçek sistemlerde deneme yerine Acunetix tarafından sunulan SQL zafiyeti içeren bir site üzerinde gerçekleştireceğiz.
Terminali açıp sqlmap -u “http://testphp.vulnweb.com/listproducts.php?cat=1” –dbs komutunu yazıyoruz.
Burada -u parametresi ile hedef sitenin URL adresini, –dbs parametresi ile de SQL zafiyeti varsa mevcut veri tabanlarını listelemesini belirliyoruz. Birkaç defa sorulan sorulara Y tuşuna basarak geçiyoruz. Ve sonuçlara baktığımızda 4 farklı SQL injection tipinde zafiyet, iki tane de acuart ve information_schema isimli veri tabanı bulundu.
Şimdi de acuart isimli veri tabanında buluanan tabloları bulalım. Bunun için sqlmap -u “http://testphp.vulnweb.com/listproducts.php?cat=1” -D acuart –tables komutunu kullanıyoruz. -D ile veri tabanı ismini, –tables ile de bu veri tabanındaki tabloları çekmek istediğimizi belirledik.
Karşımıza 8 tablo geldi. Burada users tablosu işimize yarayacak bilgileri içerebilir.
Şimdi de users isimli tablodaki kolonları bulalım. Bunun için sqlmap -u “http://testphp.vulnweb.com/listproducts.php?cat=1” -D acuart -T users –columns komutunu kullanıyoruz. Burada -T ile tablo ismini, –columns ile de bu tablodaki kolonları çekmek istediğimizi belirtiyoruz.
Sonuca bakarsak 8 tane kolon listelendi.
Son olarak sqlmap -u “http://testphp.vulnweb.com/listproducts.php?cat=1” -D acuart -T users –dump komutu ile users tablosundaki verileri getirebiliriz.
Karşımıza çıkan ilk soruyu Y tuşuna basarak geçiyoruz. do you want to crack them via a dictionary-based attack? Sorusuna da Y diyerek geçiyoruz. Burada kullanılacak sözlüğü seçmemiz isteniyor. Buradan 1’e basıp geçiyoruz. Sonraki soruya da Y diyoruz.
Sonuçta veri tabanındaki kullanıcı bilgilerine bu kadar kolay ulaşabiliyoruz.