TR | EN | DE | Our Site

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 de 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'u yükleyin : 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.

    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.

    python sqlmap.py

Temel Komut Yapısı

SQLMap için temel komut yapısı şöyledir:

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 :

    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 :

    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 :

    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:

    sqlmap -u "http://example.com/page.php?id=1" --dbs
  • Veritabanındaki Tabloları Listeleme : Belirli bir veritabanındaki tabloları listelemek için:

    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:

    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 :

    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 :

    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 :

    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 :

    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 :

    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 :

    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:

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:

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:

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:

sqlmap -u "http://example.com/" --crawl=1 --forms --batch

Çözüm

    SQLMap, penetrasyon test uzmanları ve güvenlik uzmanları 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.

Daha detaylı bilgi için resmi SQLMap dokümanlarına başvurabilirsiniz . İyi testler!

Yorum Gönder

Daha yeni Daha eski

İletişim Formu