SQL enjeksiyon güvenlik açıklarını bulmak ve kullanmak, web uygulaması testindeki en eski ve en yaygın adımlardan biridir. sqlmap bu süreci kolaylaştırır. SQL enjeksiyon kusurlarının tespitini ve kullanılmasını otomatikleştiren ve bunu yapacak şekilde yapılandırıldığında veritabanı sunucularını devralabilen açık kaynaklı bir sızma testi aracıdır.

Sqlmap’i değerli kılan otomasyonudur. Araç, yükleri manuel olarak oluşturmak ve test etmek yerine enjeksiyon noktalarını belirleme, kullanılan veritabanı türünü belirleme ve çeşitli yararlanma tekniklerini çalıştırma işini yapar. Pek çok hedef üzerinde çalışan test uzmanları için bu hız ve tutarlılık fark yaratıyor.
Sqlmap nasıl çalışır?
sqlmap, çeşitli SQL enjeksiyon türlerini destekleyen bir algılama motoru kullanır: boole tabanlı kör, zamana dayalı kör, hata tabanlı, UNION sorgu tabanlı, yığılmış sorgular ve bant dışı. Bir güvenlik açığını tespit ettikten sonra veritabanının parmak izini alabilir, verileri çıkarabilir ve hatta mevcut erişim düzeyine bağlı olarak temeldeki işletim sistemi üzerinde komutları çalıştırabilir.
Araç, kullanıcıları, parola karmalarını, rolleri ve ayrıcalıkları sıralayabilir. Veritabanı yapılarını tanımlayabilir, belirli tabloları veya sütunları arayabilir ve seçilen veri aralıklarının dökümünü yapabilir. Test uzmanları, hassas kimlik bilgilerini bulmak için adlar veya parolalar gibi belirli tablolara veya dizelere odaklanabilir.
Geniş veritabanı desteği
Sqlmap’in güçlü yönlerinden biri geniş uyumluluğudur. MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird ve SAP MaxDB dahil olmak üzere neredeyse tüm büyük veritabanı yönetim sistemlerini destekler. Ayrıca MariaDB, TiDB, CockroachDB, Vertica, OpenGauss ve ClickHouse gibi daha yeni veya niş platformlarla da çalışır.
Bu aralık, test uzmanlarının farklı ortamlarda tek bir iş akışını uygulayabileceği anlamına gelir. Hedef ister geleneksel bir ilişkisel veritabanı ister dağıtılmış bir sistem olsun, sqlmap, yöntemlerini kullanımdaki DBMS’ye uyacak şekilde uyarlayabilir.
Veritabanından işletim sistemine
Sqlmap bir enjeksiyondan yararlandığında genellikle veritabanının ötesine geçebilir. Hedef MySQL, PostgreSQL veya Microsoft SQL Server çalıştırıyorsa araç, dosya sistemine doğrudan erişebilir. Kullanıcıların temel işletim sisteminden dosya yüklemesine veya indirmesine olanak tanır; bu, istismar sonrası senaryoları test ederken yararlı bir özelliktir.
Aynı durum komut yürütme için de geçerlidir. sqlmap sistem komutlarını çalıştırabilir ve çıktılarını alabilir, böylece test uzmanlarına erişimlerinin ne kadar derine gittiğini anlamaları için bir yol sunar. Gelişmiş durumlarda, test makinesi ile hedef arasında bant dışı bir TCP bağlantısı açabilir. Bu kanal aracılığıyla kullanıcılar etkileşimli bir kabuk, bir Meterpreter oturumu ve hatta uzaktan etkileşim için bir VNC oturumu oluşturabilir.
Diğer araçlarla entegrasyon
sqlmap ayrıca ayrıcalık yükseltme için Metasploit ile entegrasyonu da destekler. Bir test uzmanı, Metasploit’in Meterpreter getsystem komutunu kullanarak, daha yüksek düzeyde erişim elde etmek için veritabanı işleminin ayrıcalıklarını yükseltmeyi deneyebilir. Araçlar arasındaki bu bağlantı, sqlmap’in daha geniş penetrasyon testi iş akışlarındaki esnekliğini vurgulamaktadır.
Zaten veritabanı kimlik bilgilerine sahip olan kullanıcılar için sqlmap, bir güvenlik açığından yararlanmadan doğrudan bağlanabilir. Bu, onu yalnızca saldırı testleri için değil aynı zamanda veritabanı yapılandırmalarını denetlemek ve doğrulamak için de yararlı kılar. Test uzmanları hangi ayrıcalıkların mevcut olduğunu ve hassas verilerin açığa çıkıp çıkmadığını doğrulayabilir.
Sqlmap neden standart bir araç olarak kalıyor?
Otomatik tarayıcıların ve bulut tabanlı test platformlarının büyümesine rağmen sqlmap, birçok penetrasyon test cihazının araç setinde standart bir araç olmaya devam ediyor. Gücü, otomasyonu hassas kontrolle birleştirmesinde yatmaktadır. Kullanıcılar davranışı ayarlamak, ayrıntı düzeyini kontrol etmek veya tam olarak hangi verinin çıkarılacağını tanımlamak için anahtarları ayarlayabilir.
Hem geniş taramayı hem de hedefe yönelik analizi destekler. Bir test uzmanı, güvenlik açığı bulunan parametreleri bulmak için uygulamayı tüm uygulama genelinde çalıştırabilir, ardından odağı belirli veritabanı tablolarına veya veri aralıklarına daraltabilir. Geniş keşif ile hassas kullanım arasında geçiş yapma esnekliği, sqlmap’i güncel tutan şeydir.
sqlmap GitHub’da ücretsiz olarak mevcuttur.
![]()
Okumalısınız:
![]()
Temel açık kaynaklı siber güvenlik araçları hakkında bilgi sahibi olmak için Help Net Security’nin reklamsız aylık bültenine abone olun. Buradan abone olun!
![]()