SQLMap: Kapsamlı Bir Kılavuz

SQLMap: Kapsamlı Bir Kılavuz

     SQLMap, web uygulamalarındaki SQL enjeksiyonu (SQLi) güvenlik açıklarının tespitini ve istismarını otomatikleştirmek için tasarlanmış sağlam bir açık kaynaklı penetrasyon testi aracıdır. Kapsamlı yetenekleriyle SQLMap, güvenlik uzmanları tarafından veritabanlarının ve web uygulamalarının güvenliğini verimli bir şekilde değerlendirmek için yaygın olarak kullanılır.

SQLMap'in Temel Özellikleri

  • Otomatik Algılama : Kapsamlı manuel test gerektirmeden SQL enjeksiyonu güvenlik açıklarını otomatik olarak belirler.
  • Veritabanı Uyumluluğu : MySQL, PostgreSQL, Oracle, Microsoft SQL Server ve daha fazlası dahil olmak üzere çok sayıda veritabanı yönetim sistemini destekler.
  • Gelişmiş Seçenekler : Kurcalama teknikleri ve özel yükler dahil olmak üzere, özel testler için çok sayıda komut satırı seçeneği sunar.
  • Oturum Yönetimi : Kullanıcıların oturumları kaydetmesine ve devam ettirmesine olanak tanır, böylece uzun vadeli test projelerini yönetmeyi kolaylaştırır.
  • Veri Alma : Veritabanı yapıları ve hassas bilgiler de dahil olmak üzere verileri minimum çabayla çıkarma yeteneği.
  • İşletim Sistemi Komut Yürütme : Veritabanı sunucusunda işletim sistemi komutlarını yürütebilir ve güvenlik açıkları varsa daha derin erişim sağlayabilir.

Kurulum

SQLMap'i kullanmaya başlamak için şu adımları izleyin:
  1. Python Kurulumu : Sisteminizde Python 2.7 veya Python 3.x'in yüklü olduğundan emin olun.
  2. Depoyu Klonlayın : SQLMap deposunu GitHub'dan klonlamak için Git'i kullanın.
    vuruş
    git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev cd sqlmap-dev
  3. SQLMap'i Çalıştırın : SQLMap'i Python kullanarak çalıştırabilirsiniz.
    vuruş
    python sqlmap.py

Temel Komut Yapısı

SQLMap için temel komut yapısı şöyledir:
vuruş
python sqlmap.py [options]

Yaygın Olarak Kullanılan Seçenekler

En sık kullanılan seçeneklerden bazılarının pratik örneklerle birlikte dökümü şöyledir:

1. Hedef URL

  • Açıklama : SQL enjeksiyonunun gerçekleşebileceği hedef URL'yi belirtin.
  • Örnek :
    vuruş
    sqlmap -u "http://example.com/page.php?id=1"

2. Parametre Belirtimi

  • Açıklama : SQL enjeksiyonu için hangi parametrenin test edileceğini belirtmek için bu seçeneği kullanın . -p 
  • Örnek :
    vuruş
    sqlmap -u "http://example.com/page.php?id=1" -p id

3. POST İstekleri

  • Açıklama : POST isteklerini kullanan web uygulamaları için, seçeneğiyle gönderilen verileri belirtin  .--data 
  • Örnek :
    vuruş
    sqlmap -u "http://example.com/login" --data="username=admin&password=admin" -p username

4. Veritabanı Sayımı

  • Veritabanlarını Listele : Tüm veritabanlarının listesini almak için:
    vuruş
    sqlmap -u "http://example.com/page.php?id=1" --dbs
  • Veritabanındaki Tabloları Listeleme : Belirli bir veritabanındaki tabloları listelemek için:
    vuruş
    sqlmap -u "http://example.com/page.php?id=1" -D database_name --tables
  • Bir Tablodan Verileri Çıkarmak : Belirli bir tablodan tüm verileri çıkarmak için:
    vuruş
    sqlmap -u "http://example.com/page.php?id=1" -D database_name -T table_name --dump

5. İşletim Sistemi Komutlarını Çalıştırın

  • Açıklama : SQL enjeksiyonu başarılı olursa, veritabanı sunucusunda işletim sistemi komutlarını çalıştırabilirsiniz.
  • Örnek :
    vuruş
    sqlmap -u "http://example.com/page.php?id=1" --os-cmd "whoami"

6. Etkileşimsiz Mod

  • Açıklama : Kullanıcı etkileşimi olmadan SQLMap'i çalıştırma seçeneğini kullanın , varsayılan seçenekleri otomatik olarak kabul edin. --batch 
  • Örnek :
    vuruş
    sqlmap -u "http://example.com/page.php?id=1" --batch

7. İstek Dosyası Kullanma

  • Açıklama : Bir dosyada kaydedilmiş bir HTTP isteğiniz varsa (örneğin,  ), bunu doğrudan kullanabilirsiniz.request.txt
  • Örnek :
    vuruş
    sqlmap -r request.txt

8. Bir Web Sitesini Tarama

  • Açıklama : Bir web sitesini otomatik olarak taramak ve formlarda güvenlik açıklarını test etmek için bu  seçeneği kullanın.--crawl 
  • Örnek :
    vuruş
    sqlmap -u "http://example.com/" --crawl=1 --forms --batch

Gelişmiş Kullanım

Kurcalama Teknikleri

SQLMap, güvenlik mekanizmalarını atlatmak için çeşitli kurcalama tekniklerini destekler. Seçeneğiyle bir kurcalama betiği belirtebilirsiniz  .--tamper 
  • Örnek :
    vuruş
    sqlmap -u "http://example.com/page.php?id=1" --tamper=space2comment

Özel Kullanıcı Aracısı

Belirli bir tarayıcıyı veya istemciyi simüle etmeniz gerekiyorsa bu  seçeneği kullanın.--user-agent 
  • Örnek :
    vuruş
    sqlmap -u "http://example.com/page.php?id=1" --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"

Örnek Kullanım Senaryoları

Senaryo 1: Temel SQL Enjeksiyon Testi

Bir URL'yi SQL enjeksiyonu güvenlik açıklarına karşı test etmek için:
vuruş
sqlmap -u "http://example.com/page.php?id=1"

Senaryo 2: Veritabanı Adlarını Çıkarma

Tüm veritabanı adlarını çıkarmak ve listelemek için:
vuruş
sqlmap -u "http://example.com/page.php?id=1" --dbs

Senaryo 3: Belirli Bir Tabloyu Boşaltmak

Belirli bir tablodaki tüm girdileri dökmek için:
vuruş
sqlmap -u "http://example.com/page.php?id=1" -D database_name -T table_name --dump

Senaryo 4: İstek Dosyası Kullanma

Bir dosyada kaydedilmiş bir HTTP isteğiniz varsa, şunları kullanabilirsiniz:
vuruş
sqlmap -r request.txt

Senaryo 5: Bir Web Sitesini Taramak

Bir web sitesini taramak ve formları otomatik olarak test etmek için:
vuruş
sqlmap -u "http://example.com/" --crawl=1 --forms --batch

Çözüm

SQLMap, penetrasyon test uzmanları ve güvenlik profesyonelleri için vazgeçilmez bir araçtır ve SQL enjeksiyonu güvenlik açıklarını etkili bir şekilde tespit etmelerini ve kullanmalarını sağlar. Kullanıcılar, komutları ve seçenekleri konusunda uzmanlaşarak güvenlik test yeteneklerini önemli ölçüde artırabilirler. SQLMap'i her zaman etik ve yasal bir şekilde kullanmayı unutmayın ve herhangi bir web uygulamasını test etme izninizin olduğundan emin olun.

Yorum Gönder

Daha yeni Daha eski

İletişim Formu