Konuyu Okuyanlar: 1 Ziyaretçi

Burp Intruder ile Labda Parametre Fuzzing: Payload Tipleri ve Örnekler

Burp Intruder ile Labda Parametre Fuzzing: Payload Tipleri ve Örnekler
[Resim: attachment.php?aid=289]

Merhaba,

Burp Suite Intruder, labda parametre fuzzing için hâlâ en hızlı yollardan biri. Bu yazıda DVWA / Juice Shop labımda Intruder'ı nasıl kullandığımı, payload tiplerini ve rate limit nezaketini anlatıyorum. Yalnızca izinli hedefler.

Hazırlık
  1. Proxy açık, lab trafiği Burp'tan geçiyor
  2. Hedef HTTP history'den Intruder'a Send
  3. Attack type seçimi: Sniper, Battering ram, Pitchfork, Cluster bomb
Tek parametre için Sniper yeter. İki parametreyi birlikte denemek için Pitchfork (eşleşmeli) veya Cluster bomb (kartezyen; patlar, dikkat).

İşaretleme
Payload Positions'ta fuzz edilecek değeri § ile işaretleyin. Örnek: id=§1§. JSON body'de de aynı mantık.

[Resim: attachment.php?aid=290]

Payload tipleri
  • Simple list: kendi wordlist'iniz
  • Numbers: 1..1000 (IDOR avı)
  • Runtime file: büyük listeler
  • Grep / regex extract ile zincirleme (ileri)
IDOR lab örneği:
Kod:
# Payload: Numbers 1-200 # Grep match: "email" veya "Welcome" # Length / status code farkına bak

Sonuçları okumak
Status, Length, Words, Grep Match sütunları. Anormal uzunluk = farklı yetki seviyesi veya hata mesajı sızıntısı olabilir. Response'u elle doğrulamadan "bug" demeyin.

Nezaket ve güvenlik
  • Resource Pool / Delay ile saniyede istek sayısını düşürün
  • Production bug bounty'de program kurallarındaki rate limit'e uyun
  • Login formunda brute force Intruder = çoğu programda yasak
  • Oturum çerezini öldürmemek için attack sırasında cookie jar'ı bilinçli yönetin

Intruder vs ffuf
Intruder GUI ve tarayıcı akışıyla entegre; ffuf hız ve CLI otomasyonunda önde. Ben keşifte ffuf, oturumlu iş mantığında Intruder kullanıyorum.

Kaynaklar
  • PortSwigger Web Security Academy - Burp Intruder
  • OWASP Testing Guide
  • DVWA / OWASP Juice Shop (yasal lab)

Siz Cluster bomb'u gerçekten ne zaman kullanıyorsunuz? Ben çoğu senaryoda Pitchfork + manuel ile yetiniyorum.

Grep extract ile zincir
Önceki yanıttan CSRF token çekip sonraki isteğe yerleştirmek Intruder/macros ile yapılır. Labda login + fuzz akışını kaydedin. Session handling rule ile cookie yenilemek, uzun fuzz sırasında 401 yağmurunu keser.

Payload set hijyeni
Başkasının "100MB xss.txt" listesini körlemesine kullanmayın; labda önce 50 satırlık hedefli liste. Production bounty'de aynı kural: kalite > megabayt.


Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Uygulama notu
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.


Ek DosyalarEkran Görüntüleri
       
Cevapla



Hızlı Menü: