Burp Suite ile Güvenli Lab Çalışması: Başlangıç Rehberi

Burp Suite öğrenirken yasal, kontrollü ve tekrar edilebilir bir laboratuvar düzeni kurmak için temel yaklaşım.

9 dk okuma
ibrahimsql
1.745 kelime

Burp Suite ile Güvenli Lab Çalışması#

Burp Suite web güvenliği öğrenmek için güçlü bir araçtır, fakat doğru kapsam olmadan kullanıldığında hem teknik hem hukuki sorun çıkarabilir. Bu rehber, Burp Suite'i yalnızca izinli laboratuvar ortamlarında kullanmak için güvenli bir başlangıç düzeni sunar.

Bir proxy aracı aynı zamanda iki yüze sahiptir: sana kendi trafiğini gösterir, ama hatalı hedef seçilirse bir saldırı aracıdır. Bu yüzden lab düzeni, aracı açmadan önce kurulur.

Threat Model: Öğrenin mi, Zarar mı?#

Kendi lab düzenini kurmadan önce üç soruyu yanıtla:

  1. Trafik hangi ağda dolaşacak?
  2. Burp'in dinlediği proxy portu kime açık?
  3. Yanlışlıkla gerçek bir hedefe istek giderse ne olur?

En sık hata, Burp'i kurumsal ağa veya ev ağına bağlayıp "zaten test etmiyorum" diye unutmaktır. Proxy tüm tarayıcı trafiğini görür; bu yüzden orada normalde hiç göremeyeceğin iç servis isteklerini de yakalarsın. Kapsam dışı hedefe veri sızması riskini azaltmanın yolu, lab'i ağ düzeyinde izole etmektir.

Trust Boundaries: Labı İzold Gayrısı Olmaz#

Güvenli lab, üç sınırla çevrilidir:

+------------------------- HOST (macOS/Linux) -------------------------+ | | | +-- Docker network: burp-lab (isolated) ------------------------+ | | | | | | | [DVWA] [Juice Shop] [bWAPP] <-- kurban uygulamalar | | | | ^ ^ ^ | | | | | http://dvwa:80 | | | | | [Burp Suite proxy 127.0.0.1:8080] | | | | | | | | | [tarayıcı profil: burp-lab] | | | +----------------------------------------------------------------+ | | | | (allowlist dışı internet yok; host ağına bridge yok) | +----------------------------------------------------------------------+

Üç sınır:

  1. Tarayıcı profil sınırı: Burp proxy ayarı sadece lab tarayıcı profilinde aktif. Günlük iş profilin proxy'siz kalır.
  2. Ağ sınırı: lab ağı izole; dış internet çıkışı ya yok ya da sadece allowlist.
  3. Kapsam sınırı: Burp'in "Target scope" listesinde yalnızca dvwa, juiceshop, bWAPP gibi yerel hostlar var. Scope dışı istekler yakalansa bile Repeater'a düşürülmez.

Bu üç sınır birlikte, yanlışlıkla üretim sistemine istek gitmesi riskini pratik olarak sıfırlar.

Önce Kapsamı Belirleyin#

Test edeceğiniz hedef size ait değilse veya açık izin yoksa test yapmayın. Öğrenme için en sağlıklı seçenekler şunlardır:

  • Kendi lokal uygulamanız
  • Bilerek zafiyetli eğitim uygulamaları (DVWA, OWASP Juice Shop, bWAPP, PortSwigger Academy)
  • Kurum içi açıkça izin verilmiş test ortamı
  • Bug bounty programlarında kapsam içinde belirtilen varlıklar

Kapsam netliği, iyi güvenlik pratiğinin ilk şartıdır. Kapsamı yazılı tut; yazılı olmayan izin yok sayılır.

Proxy Akışını Anlayın#

Burp Suite genellikle tarayıcı ile hedef uygulama arasına yerleşir. Tarayıcı isteği Burp proxy üzerinden geçer, siz de isteği inceleyip gerekirse tekrar gönderebilirsiniz.

Temel akış:

  1. Tarayıcı proxy ayarını Burp'e yönlendirir.
  2. Burp gelen isteği yakalar.
  3. İstek incelenir ve gerekiyorsa Repeater'a gönderilir.
  4. Yanıt gövdesi, başlıklar ve durum kodu değerlendirilir.
  5. Bulgular not alınır ve tekrar edilebilir kanıtla raporlanır.

Akışı gösteren basit bir şema:

[Tarayıcı] --HTTP--> [Burp Proxy :8080] --HTTP--> [Hedef uygulama] | Intercept açık mı? / \ Evet Hayır | | isteği durdur isteği geçir | düzenle / logla / Repeater'a gönder

Intercept'i açık bırakmak başlangıçta her isteği durdurur; bunu öğrendikten sonra pas geçmeye al. Aksi halde her sayfa yüklenişi donmuş gibi görünür.

Lab Kurulumu: Adım Adım Workflow#

Docker Compose ile tipik bir lab:

services: dvwa: image: vulnerables/web-dvwa networks: [labnet] juiceshop: image: bkimminich/juice-shop networks: [labnet] networks: labnet: driver: bridge internal: true

internal: true ağ bayrağı, konteynerlerin dış internete çıkmasını baştan engeller. İç ağa DNS çözümleme için yerel isimler yeterlidir.

Tarayıcı tarafında ayrı profil:

# Firefox'ta ayrı profil oluşturma örneği firefox -P burp-lab-profile # Ayar: Network Settings -> Manual proxy -> 127.0.0.1:8080

Burp içinde:

  1. Proxy -> Options -> Intercept isteklerini "scope'a girenler" ile sınırla.
  2. Target -> Scope -> http://dvwa/, http://juiceshop/ ekle.
  3. Cairn/project dosyası her lab oturumunda ayrı aç: File -> New Project.

Bu düzen, oturum kapandıktan sonra bile notların ve HTTP geçmişinin tek dosyada kalmasını sağlar.

Not Alma Disiplini Kurun#

Bir güvenlik bulgusu, sadece "bir şey oldu" diye raporlanmaz. Öğrenme aşamasında bile notlarınızı şu formatta tutun:

AlanAçıklama
Hedef URLTest edilen endpoint
İstek yöntemiGET, POST, PUT gibi
ParametreDavranışı etkileyen alan
Beklenen davranışUygulama ne yapmalıydı?
Gözlenen davranışNe oldu?
EtkiRisk neden önemli?
Düzeltme fikriNasıl azaltılabilir?

Bu format ileride profesyonel raporlama yapmayı kolaylaştırır.

Notu, Bulgu kaydını en az üç bileşen taşısın:

[HTTP request/response çifti] + [kısa açıklama] + [etki cümlesi]

Sadece ekran görüntüsü tek başına kanıt sayılmaz; isteğin tam hali (headers dahil), yanıtın ilgili kısmı ve yeniden üretme adımı birlikte saklanır.

Trafiği Azaltın#

Yeni başlayanların yaptığı hata, her şeyi otomatik taramaya bırakmaktır. Kontrollü lab dışında agresif tarama yapmayın. Özellikle üretim sistemlerinde rate limit, hesap kilitleme, log şişmesi ve servis etkisi oluşabilir.

Öğrenme için önce manuel akışı anlayın:

  • Login isteğini inceleyin
  • Form gönderimini Repeater'da tekrarlayın
  • Header ve cookie davranışını takip edin
  • Hata mesajlarının veri sızdırıp sızdırmadığını not alın

Detection ve Mitigation: Her Kullanılan Özellik İçin#

Repeater ile manuel tekrar sırasında şu şeyleri izle:

BelirtiNe anlama gelir
SameSite cookie'siz POSTCSRF riski olabilir
Hata mesajında stack tracebilgi sızıntısı; üretimde genel mesaj dönmeli
304 yerine 200 ile tam gövdecache kontrolü zayıf olabilir
Set-Cookie'de Secure/HttpOnly yokçerez çalınabilir
X-Frame-Options eksikclickjacking riski
Tüm yanıtta X-Powered-Byteknoloji ifşası

Bu tablo bir kontrol listesidir; "mülahazalı" araç listesi değil. Her satır, uygulamayı daha iyi anlamanı sağlar.

Version Differences: Burp Edition ve Kali/PortSwigger Akademi#

  • Burp Suite Community: proxy, repeater, intruder sınırlı, scanner yok. Lab için yeterlidir.
  • Burp Suite Professional: tüm özellikler; kapsam dışı tarama yapmak kurumsal bir satın alma gerektirdiği için pratikte lisanslı ortamda daha kontrollüdür.
  • Burp Suite Enterprise: sürekli tarama; production'a karşı tarama planı lisans ve izin sürecinden geçer.
  • PortSwigger Web Security Academy: ücretsiz lab + ders. DVWA/Juice Shop'a ek olarak doğrudan Burp odaklı alıştırmalar içerir.
  • Kali Linux: DVWA, bWAPP, Juice Shop imajlarını paket halinde sunar; kurulumda VM'inin dış ağına bridge bağlamamaya dikkat et.

Sürümler arası davranış farkı gördüğünde bunu not al; aynı lab senaryosunu iki sürümde koşturmak, aracın hangi davranışı değiştirdiğini anlamanın en iyi yoludur.

Mitigation Workflow: Bir Bulguyu Kapatırken Sıralama#

Bir bulguyu sadece "düzelttim" diye işaretleme. Şu sırayı izle:

  1. Yeniden üret: aynı adımlarla bulgu hala orada mı?
  2. Fix: uygulamada tek nokta değişikliği yap.
  3. Re-test: aynı istekle tekrar dene.
  4. Regression check: komşu endpoint'ler hala çalışıyor mu?
  5. Kaydet: request/response, açıklama ve fix commit hash'i tek not altında.
[Bulgu] -> [Fix] -> [Re-test] -> [Regresyon] -> [Kapanış notu] ^ | +-------- (aynı davranış geri gelirse) -------+

Kapanış notu; sonraki ay aynı açık başka endpoint'te çıkarsa ilk aradığın yer olur.

Sonuç#

Burp Suite'i iyi kullanmak, butonları ezberlemekten çok HTTP davranışını anlamaktır. Yasal kapsam, düzenli not alma ve düşük etkili manuel analiz alışkanlığı, güvenli web testi öğrenmenin en sağlam yoludur. Lab kurmak yarım saatini alır; o yarım saat, istemeden gerçek bir sisteme zarar vermeni veya hukuki sorunla karşılaşmanı engeller.

Tarama Ortamında Hız ve Etki Dengesi#

PortSwigger Academy dışındaki lab hedeflerinde otomatik tarama yapacaksan, önce hedefin ne kadar dayanıklı olduğunu ölç. Basit bir yaklaşım: tek endpoint'i 1 rps ile 60 saniye çağır, sonra 10 rps ile 60 saniye çağır. Yanıt süresi ve hata oranı farkını not et. Bu ölçüm, production'da hangi hızın servisi sarsacağını tahmin etmene yardımcı olur.

Agresif tarama sırasında şu sinyalleri izle:

SinyalOlası etki
503 / 502 spikeservis düşüyor
Response time > 5snkuyruk doluyor
Connection resetservis throttle ediyor
CPU/load %95 üzerindeotomasyon durdurulmalı

Bu eşikler aşılırsa tarama hızını yarıya indir veya tamamen durdur. Hedefin kendi sağlığı senin bulduğun her bulgudan önce gelir.

Komut Satırı ve Eklentiler#

Burp sadece proxy değildir; eklenti ekosistemiyle özelleştirilebilir. Yeni başlayan için güvenli eklentiler:

  • Logger++: trafik log'unu detaylı tutar.
  • JWT Editor: token decoding ve basit manipülasyon.
  • Autorize: yetkilendirme farklarını kullanıcı profilleri arasında karşılaştırır.
  • Param Miner: gizli parametreleri arar (kapsam dışı hedeflere dikkat).

Eklentileri tek tek ve lab kapsamında dene; aynı anda hepsini açmak, birbirine müdahale eden istekler üretebilir ve bulguyu doğrulamayı zorlaştırır.

Komut Satırında Burp Workflow'u#

burpsuite GUI dışında terminal notlarıyla şu akışı izle:

# Oturum başında mkdir -p evidence/$(date +%F) cp capture.pcap evidence/$(date +%F)/ # Her bulgu için echo "[$(date -u +%FT%TZ)] POST /login 302 -> 200 (no rate limit)" \ >> evidence/$(date +%F)/notes.log

Bu format, ileride bir rapor yazarken her bulgunun zaman damgası ve kanıt yoluyla bağlı kalmasını sağlar.

Sık Hata: Intercept Kalması#

Intercept açık unutulduğunda tarayıcı donmuş gibi görünür. Şu pratik ipucu işe yarar: Burp'i sekmeye değil, bağımsız pencerede tut. Her sekme değişiminde proxy durumu hata veriyorsa "Forward all intercepted requests" (Ctrl+Alt+F) alışkanlığı kazandır. Bu alışkanlık, lab oturumunu dakikalarca kaybolmaktan kurtarır.

Lab Güvenliği Kontrol Listesi#

  • Burp project dosyası sadece lab hedeflerini içeriyor.
  • Proxy dinleyicisi localhost veya 127.0.0.1 ile sınırlı.
  • Tarayıcı proxy ayarı sadece lab profilinde aktif.
  • Hedef VM veya container iç ağda, dış internet izole.
  • Bulgular evidence/YYYY-MM-DD/ altına kaydediliyor.
  • Her bulgu, iki istek/yanıt çiftiyle doğrulanmış.

Bu liste, oturumun sonunda kapatılırken tekrar gözden geçirilir. Eksik satır, gelecek ay doğrulanması zor bir bulgu anlamına gelir.

Rapor Yazım Şablonu#

Bir bulguyu tek notta şu başlıklarla yaz:

## Bulgu: <kısa başlık> Hedef: <URL> Ön koşul: <auth, IP kısıtı> Adımlar: 1. <istek> 2. <istek> Gözlem: <yanıt farkı> Etki: <hangi veri/servis etkilenir> Düzeltme: <önerilen değişiklik> Kanıt: <dosya yolu>

Bu şablon, başkasına verdiğin raporu aynı zamanda kendi tekrar testinin de referansı haline getirir.

Kapsam ve Hukuk: Unutulmaması Gereken Çizgi#

Burp ile bir sistem test etmek, sisteme temas eden her isteğin sorumluluğunu taşımak demektir. Yazılı izin yoksa, "sadece bakıyorum" bile iddialı bir savunmadır. Bu yüzden:

  • İzinli olsa bile, izin mektubunu veya program policy linkini raporda referans göster.
  • Kapsam dışı IP'ye yanlışlıkla istek giderse, trafiğin durdurulduğunu ve hedef sahibine haber verildiğini not et.
  • Bug bounty'de "out of scope" listesini baştan oku; gizli endpoint'leri keşfetmek, kapsamdışı hedefi tetikleyebilir.

Kapsam disiplini, hem etik hem hukuki açıdan ilk savunma hattıdır. Bir kez kapsamdışı hedefe istek gönderdiysen, trafiği durdur ve olayı kısaca raporla; gizlemek, büyütür.

Son Söz: Lab, Rutine Dönüşünce Büyür#

Lab'i tek bir uygulamada sabit bırakmamak, öğrenmenin genişlemesini sağlar. Üç ayda bir hedefi değiştir; aynı senaryoyu DVWA'dan Juice Shop'a taşı. Aynı zafiyeti iki uygulamada görmek, "bu bir pattern" demektir. Pattern tanıdığında, gerçek dünyada benzer bir bulguyu çok daha hızlı yazarsın.

---
Bu yazıyı paylaş:
TwitterLinkedInFacebook

Ne düşünüyorsun?

Tepki bırakarak geri bildirim ver

İlgili Yazılar