SQLMap, açık kaynaklı bir araç olup, web uygulamalarında SQL enjeksiyonu saldırılarını otomatik olarak tespit ve sızma testlerini gerçekleştirmek için kullanılır. Aşağıda Linux üzerinde SQLMap kullanımını detaylarıyla açıklayacağım:
- SQLMap'ı Kurma: SQLMap'ı kullanmadan önce, Linux dağıtımınıza veya sistemine yüklemeniz gerekebilir. SQLMap'ı resmi web sitesinden veya paket yöneticiniz aracılığıyla kurabilirsiniz. Örneğin, Debian/Ubuntu tabanlı sistemlerde şu komutu kullanabilirsiniz:
Python:sudo apt-get install sqlmap
Diğer Linux dağıtımları için paket yöneticileri farklılık gösterebilir. SQLMap'ı manuel olarak indirmek ve kurmak isterseniz, resmi GitHub deposunu kullanabilirsiniz.
- SQLMap Kullanımı: SQLMap, komut satırı aracıdır ve temel kullanımı oldukça basittir. İşte temel bir komut örneği:
SQLMap oldukça geniş bir komut yelpazesi sunar. Tüm komutları detaylarıyla açıklamak biraz uzun olabilir, ancak temel komutları ve yaygın olarak kullanılan bazı parametreleri aşağıda listeleyeceğim:
1. Temel Kullanım:
Python:sqlmap -u "Hedef_URL" --dbs
Python:-u "Hedef_URL"`: Saldırı yapmak istediğiniz web uygulamasının URL'sini belirtir. --dbs`: Tüm veritabanlarını listeleyen bir komut.
2. Veritabanı ve Tablo İşlemleri:
Python:--tables -D veritabani_adi`: Belirli bir veritabanındaki tabloları listeleyin. --columns -D veritabani_adi -T tablo_adi`: Belirli bir tablodaki sütunları listeleyin. -D veritabani_adi -T tablo_adi --dump`: Veritabanı tablosundaki verileri çıkarın.
3. SQL Enjeksiyon Tespiti:
Python:--level`: SQL enjeksiyon seviyesini belirtir (1-5). --risk`: SQL enjeksiyon risk seviyesini belirtir (1-3). --tamper`: Enjeksiyon stringlerini özelleştirmek için kullanılır.
4. Otamatik Tarama:
Python:--all`: Tüm tarama testlerini gerçekleştirin. --batch`: Taramayı otomatik olarak tamamlayın. --crawl`: Web sitesini taramak ve enjeksiyon noktalarını otomatik olarak bulmak için kullanılır.
5. Çıktı ve Raporlar:
Python:--output`: Çıktıyı bir dosyaya kaydetmek için kullanılır. --xml`: Sonuçları XML formatında kaydetmek için kullanılır.
6. İşletim Sistemi Kabuğu Açma:
Python:--os-shell`: Sistemde işletim sistemi kabuğunu açmak için kullanılır.
7. HTTP İstek Özelleştirmeleri:
Python:--headers`: Özel HTTP başlıklarını eklemek için kullanılır. --cookie`: Özel çerezleri belirtmek için kullanılır. --proxy`: Proxy sunucusunu belirtmek için kullanılır.
8. Saldırı Türleri:
Python:--technique`: SQL enjeksiyon tekniklerini belirlemek için kullanılır (örneğin, UNION tabanlı enjeksiyon). --dbms`: Hedef veritabanı yönetim sistemi türünü belirtmek için kullanılır.
9. Veritabanı Sunucusu Özellikleri:
Python:--current-db`: Şu anki veritabanının adını almak için kullanılır. --users`: Kullanıcıları listelemek için kullanılır. --passwords`: Parolaları listelemek için kullanılır.
10. Diğer İşlevler:
Python:--beep`: Tarama tamamlandığında bir bip sesi çıkarır. --cleanup`: Geçici dosyaları temizler.
Bu, SQLMap'ın temel komutları ve parametreleridir. Daha fazla ayrıntılı bilgi ve örnekleri görmek için SQLMap'ın kendi yardım belgelerine (`sqlmap --help`) başvurmanız önemlidir. SQLMap'ı kullanırken dikkatli olmalı ve yasa dışı veya izinsiz sızma testleri yapmamalısınız.