Burp Suite, web uygulama güvenliği uzmanlarının envanterinde de-facto standarttır. Proxy modülü, tarayıcı ile sunucu arasındaki HTTP/HTTPS trafiğini gerçek zamanlı olarak yakalamayı, analiz etmeyi ve değiştirmeyi sağlar. Bu kılavuzda, Burp Suite'i proxy olarak nasıl yapılandıracağımızı, temel pentest için hangi modüllerin kullanılacağını ve yeni başlayanların sık yaptığı hatalardan nasıl kaçınacağımızı inceleyeceğiz.
Burp Suite nedir ve pentestere neden gereklidir
Burp Suite, PortSwigger tarafından geliştirilen web uygulama güvenliği testleri için entegre bir platformdur. Araç, üç sürümde mevcuttur: Community (ücretsiz), Professional ve Enterprise. Çoğu başlangıç ve orta seviye görevler için Community sürümü yeterlidir, ancak Professional, aktif zayıflık tarayıcısına ve Intruder'ın genişletilmiş özelliklerine erişim sağlar.
Burp Suite'in pentestteki ana rolü, man-in-the-middle proxy rolüdür. Araç, tarayıcınız ile hedef web uygulaması arasında durarak tüm HTTP/HTTPS trafiğini yakalar. Bu, aşağıdakileri yapmanızı sağlar:
- Tarayıcının kullanıcıdan gizlediği "ham" istekleri ve yanıtları görmek
- İstek parametrelerini anlık olarak değiştirmek — başlıkları, POST isteğinin gövdesini, çerezleri değiştirmek
- Sayfayı yeniden yüklemeden değiştirilen verilerle istekleri tekrarlamak
- Zayıflıkları bulmak için parametre değerlerini otomatik olarak denemek
- Web uygulamasının tam haritasını oluşturmak (Spider/Crawler)
- SQLi, XSS, IDOR, SSRF ve diğer birçok zayıflığı bulmak
Burp Suite, hem ticari projelerde profesyonel pentesterlar hem de Bug Bounty programlarının katılımcıları (HackerOne, Bugcrowd) tarafından kullanılmaktadır. Uygulama Güvenliği alanında kariyerine başlayanların iş istasyonuna kurduğu ilk araçtır.
⚠️ Önemli:
Burp Suite'i yalnızca yazılı izin aldığınız uygulamaları test etmek için veya eğitim ortamlarında (DVWA, WebGoat, HackTheBox, TryHackMe) kullanın. Yetkisiz testler cezai suçtur.
Burp Suite'de proxy yakalama nasıl çalışır
Burp Suite'i başlattığınızda ve Proxy modülünü etkinleştirdiğinizde, makinenizde yerel bir proxy sunucusu başlatılır. Varsayılan olarak, 127.0.0.1:8080 adresinde dinler. Tarayıcı, bu adresi HTTP/HTTPS proxy olarak kullanacak şekilde ayarlanır.
Çalışma şeması şu şekildedir:
Tarayıcı │ │ HTTP/HTTPS isteği ▼ Burp Suite Proxy (127.0.0.1:8080) │ │ ← Burp burada yakalar, gösterir, değiştirilmesine izin verir │ ▼ Hedef web sunucusu (example.com) │ │ HTTP/HTTPS yanıtı ▼ Burp Suite Proxy │ │ ← Burp burada sunucu yanıtını yakalar │ ▼ Tarayıcı (yanıtı alır)
HTTPS trafiği için Burp Suite, her alan adı için anlık olarak kendi TLS sertifikalarını üretir. Tarayıcı, güvenli olmayan bir bağlantı uyarısı göstermemesi için Burp'ın kök CA sertifikasını tarayıcı veya işletim sisteminin güvenilir sertifika otoritelerine yüklemeniz gerekir. Bu, HTTPS trafiğini şifrelemeden çözümlemenizi sağlar — bu adım olmadan yalnızca şifrelenmiş verileri göreceksiniz.
Yakalama modu (Intercept) açılabilir veya kapatılabilir. Intercept açıkken — her istek Burp'ta "dondurulur" ve sizin kararınızı bekler: olduğu gibi geçmek, değiştirmek veya sıfırlamak. Kapalıyken — Burp trafiği şeffaf bir şekilde geçirir, ancak yine de HTTP Geçmişi'nde kaydeder.
Tarayıcı ayarları ve CA sertifikası kurulumu
Bu, çalışmaya başlamak için en önemli adımdır. İki seçeneği inceleyelim: Burp'ın yerleşik tarayıcısını kullanma ve Chrome/Firefox'u manuel olarak ayarlama.
Seçenek 1: Burp Suite'in yerleşik tarayıcısı (yeni başlayanlar için önerilir)
2021.x sürümünden itibaren, Burp Suite yerleşik bir Chromium tarayıcısı ile birlikte gelir ve bu tarayıcı proxy ile çalışacak şekilde önceden ayarlanmıştır ve CA sertifikasını içerir. Bu, çalışmaya başlamak için en hızlı yoldur:
- Burp Suite'i açın → Proxy bölümüne gidin
- Open Browser butonuna tıklayın
- Burp proxy'sine ayarlanmış Chromium açılacaktır
- İstediğiniz siteye gidin — trafik hemen yakalanacaktır
Seçenek 2: Firefox'u manuel olarak ayarlama
Firefox, kendi sertifika deposuna sahip olduğu için manuel ayarlama için tercih edilir (sistemden bağımsızdır):
Adım 1. Firefox'ta proxy ayarlayın:
- Firefox'u açın → Ayarlar → Proxy sunucusu (veya FoxyProxy eklentisini kullanın)
- "Manuel proxy ayarı" seçeneğini seçin
- HTTP proxy:
127.0.0.1, Port:8080 - "HTTPS için bu proxy'i kullan" seçeneğini işaretleyin
- OK butonuna tıklayın
Adım 2. Burp CA sertifikasını yükleyin:
- Burp Suite'in çalıştığından ve proxy'nin etkin olduğundan emin olun
- Tarayıcıda şu adrese gidin:
http://burpsuiteveyahttp://127.0.0.1:8080 - "CA Certificate" butonuna tıklayın —
cacert.derdosyası indirilecektir - Firefox: Ayarlar → Gizlilik ve güvenlik → Sertifikalar → Sertifikaları görüntüle
- "Sertifika Otoriteleri" sekmesi → İçe aktar → indirilen dosyayı seçin
- "Bu CA'nın web sitelerini tanımlamak için güvenilir olduğunu kabul et" seçeneğini işaretleyin
- OK butonuna tıklayın
Bu adımlardan sonra Firefox, Burp'ın HTTPS siteleri için ürettiği sertifikalara güvenecek ve şifrelenmiş trafiği uyarı olmadan yakalayabileceksiniz.
HTTP/HTTPS trafiğini yakalama ve analiz etme
Tarayıcıyı ayarladıktan sonra trafikle çalışmaya başlayabilirsiniz. Burp Suite'deki Proxy sekmesinin temel özelliklerini inceleyelim.
HTTP Geçmişi — tüm isteklerin kaydı
HTTP Geçmişi sekmesi (Proxy → HTTP History) — Burp üzerinden geçen tüm isteklerin kaydıdır. Burada şunları göreceksiniz:
- İstek yöntemi (GET, POST, PUT, DELETE vb.)
- URL ve parametreler
- HTTP başlıkları (çerezler, yetkilendirme, User-Agent dahil)
- İstek gövdesi (POST/PUT için)
- Sunucu yanıt kodu (200, 302, 403, 500...)
- Yanıt boyutu ve süresi
Herhangi bir isteğin üzerine sağ tıklayın → Repeater, Intruder, Scanner, Decoder ve diğer modüllere gönderme seçeneklerini içeren bir bağlam menüsü alırsınız. Bu, Burp'taki ana çalışma sürecidir.
Intercept — aktif yakalama modu
Intercept'i etkinleştirin (buton "Intercept is on/off") — ve tarayıcıdan gelen bir sonraki istek Burp'ta "dondurulacaktır". İçeriğini göreceksiniz ve şunları yapabileceksiniz:
- Forward — isteği değişiklik olmadan geçirin
- Drop — isteği sıfırlayın (sunucu bunu almayacak)
- Verileri manuel olarak değiştirin — herhangi bir alanı düzenleyin ve Forward butonuna tıklayın
- Action → Send to Repeater — daha fazla analiz için Repeater'a gönderin
Pratik bir örnek: bir oturum açma formunun POST isteğini yakalıyorsunuz. İstek gövdesinde username=admin&password=12345 parametrelerini görüyorsunuz. Değerleri Burp'ta değiştirebilir ve Forward butonuna tıklayarak sunucuya değiştirilmiş verileri gönderebilirsiniz.
Ana modüller: Repeater, Intruder, Scanner
Burp Suite sadece bir proxy değildir. Bu, bir dizi araçtan oluşan bir ekosistemdir. En sık kullanılan üç modülü inceleyelim.
Repeater — istekleri manuel test etme
Repeater, pentesterın iş atı olarak bilinir. HTTP Geçmişi'nden bir isteği gönderiyorsunuz (sağ tıklama → Send to Repeater), ardından şunları yapabilirsiniz:
- İstek parametrelerini değiştirmek
- Send butonuna tıklayarak isteği tekrar göndermek
- Sunucu yanıtını sağ panelde görmek
- Farklı istek varyasyonları üzerindeki yanıtları karşılaştırmak
- Tüm gönderilen varyasyonların geçmişini kaydetmek
Repeater'ın tipik bir kullanım senaryosu: GET isteğinde id=5 parametresini buldunuz. İsteği Repeater'a gönderiyorsunuz ve kontrol etmeye başlıyorsunuz: id=1, id=0, id=-1, id=999999 olduğunda ne olacağını kontrol ediyorsunuz? Bu, IDOR (Insecure Direct Object Reference) için temel bir testtir.
Intruder — otomatik deneme
Intruder, belirli bir sözlük veya şablon üzerinden parametre değerlerini otomatik olarak denemenizi sağlar. Ana saldırı modları:
| Mod | Açıklama | Kullanım |
|---|---|---|
| Sniper | Bir parametre, bir sözlük | Bir alanın brute force edilmesi |
| Battering Ram | Birden fazla parametre, bir değer | Birden fazla yerde aynı değerin gerektiği durumlar |
| Pitchfork | Birden fazla parametre, birden fazla sözlük (eş zamanlı) | Kullanıcı adı + şifre kombinasyonlarını denemek |
| Cluster Bomb | Birden fazla parametre, tüm kombinasyonlar | Tüm kombinasyonların tam denemesi |
Community sürümünde Intruder'ın hızı yapay olarak sınırlıdır (yaklaşık 1 istek/sn). Professional sürümde sınırlama yoktur. Bu sınırlamayı aşmak için Community sürümünde üçüncü taraf eklentiler veya Burp ile birlikte ffuf/wfuzz aracı kullanılır.
Scanner — otomatik zayıflık taraması (Pro)
Scanner yalnızca Professional sürümde mevcuttur. Yakalanan istekleri otomatik olarak analiz eder ve zayıflıkları arar: SQL enjeksiyonları, XSS, XXE, SSRF, Path Traversal ve diğerleri. Community sürümünde pasif tarama vardır — Burp trafiği analiz eder ve aktif saldırılar olmadan potansiyel tehlikeli yerleri vurgular.
Burp Suite ile yaygın zayıflıkları bulma
Burp Suite kullanarak en yaygın zayıflıkları bulma pratik senaryolarını inceleyelim.
SQL enjeksiyonu (SQLi)
Repeater üzerinden SQLi için temel bir kontrol:
- Veritabanına giden bir parametre içeren isteği yakalayın (örneğin,
id=5veyasearch=test) - Repeater'a gönderin
- Değere tek tırnak ekleyin:
id=5' - Send butonuna tıklayın ve yanıtı inceleyin — eğer sunucu bir SQL hatası döndürdüyse veya davranış değiştiyse — SQLi belirtisi vardır
- Boolean enjeksiyonunu kontrol edin:
id=5 AND 1=1vsid=5 AND 1=2— eğer yanıtlar farklıysa, enjeksiyon vardır
Yansıtılan XSS
Yansıtılan XSS için kontrol:
- Yanıt sayfasında görüntülenen bir parametre bulun
- Repeater'a istek gönderin
- Test yükünü ekleyin:
<script>alert(1)</script> - Yanıtı inceleyin — eğer yük HTML'ye kaçırılmadan girmişse, XSS mevcuttur
- script etiketinin filtrelenip filtrelenmediğini kontrol edin:
<img src=x onerror=alert(1)>deneyin
IDOR (Insecure Direct Object Reference)
Modern web uygulamalarında en yaygın zayıflık sınıflarından biri:
- Sayısal ID ile nesnelere erişen istekleri bulun:
/api/user/profile?id=1234 - Repeater'a gönderin
- ID'yi başka bir değere değiştirin:
id=1235,id=1 - Eğer sunucu, yetkilendirme hatası olmadan başka bir kullanıcının verilerini döndürdüyse — bu IDOR'dur
Yetkilendirme kontrolü ve oturum yönetimi
Burp Suite, yetkilendirme mekanizmalarını kolayca kontrol etmenizi sağlar:
- Korunan bir kaynağa olan isteği Repeater'a kopyalayın
- Oturum çerezinin değerini silin veya değiştirin
- Sunucunun yetkilendirme hatası döndürüp döndürmeyeceğini kontrol edin veya yine de verileri döndürüp döndürmeyeceğini kontrol edin
- JWT tokenlerinin algoritmasını
noneolarak değiştirip çalışıp çalışmadığını kontrol edin
Burp Suite + harici proxy: neden gereklidir
Burp Suite, yerel bir araç proxy'sidir. Ancak bazı senaryolar için pentester, Burp trafiğini harici bir proxy üzerinden yönlendirmek isteyebilir. Ne zaman ve neden gerektiğini inceleyelim.
Senaryo 1: Gerçek IP adresinden test etme
Bazı web uygulamaları, coğrafi konum veya IP itibarı temelinde koruma sağlar. Hedef uygulama, veri merkezlerinden veya bilinen VPN-IP'lerden gelen trafiği engelliyorsa, pentester konut proxy'leri kullanabilir — bunlar, gerçek ev kullanıcılarının IP adreslerine sahiptir ve sunucu için sıradan bir ziyaretçi gibi görünür.
Senaryo 2: Aktif testte hız sınırlamasını aşma
Aktif tarama veya Intruder ile çalışırken, hedef sunucu çok sayıda istek nedeniyle IP'nizi engelleyebilir. Proxy havuzundan döngü yapmak, yükü farklı IP adreslerine dağıtmayı sağlar. Bu görevler için veri merkezi proxy'leri iyi bir seçimdir — yüksek hız ve bağlantı kararlılığı sağlar, bu da otomatik testler için kritik öneme sahiptir.
Burp Suite'de upstream proxy nasıl ayarlanır
Burp Suite, upstream proxy'leri (üst düzey proxy) destekler. Ayar:
- Burp Suite'i açın → Ayarlar (veya eski sürümlerde Kullanıcı Seçenekleri)
- Network → Connections → Upstream Proxy Servers bölümüne gidin
- Add butonuna tıklayın
- Hedef ana bilgisayar alanına
*(tüm ana bilgisayarlar için) veya belirli bir alan adı girin - Harici proxy'nin adresini ve portunu belirtin
- Tipi seçin: HTTP, SOCKS4 veya SOCKS5
- Gerekirse kullanıcı adı ve şifre girin
- OK butonuna tıklayın
# Burp Suite'de upstream proxy yapılandırma örneği: Destination host: * Proxy host: proxy.example.com Proxy port: 8888 Auth type: Basic Username: your_login Password: your_password Proxy type: SOCKS5
Bu ayarlardan sonra, Burp'ın hedef sunuculara gönderdiği tüm trafik belirtilen upstream proxy üzerinden geçecektir. Tarayıcı hala Burp'a 127.0.0.1:8080 üzerinden bağlanacak, Burp ise istekleri harici proxy üzerinden yönlendirecektir.
Pentest için proxy türlerinin karşılaştırılması
| Proxy türü | Hız | Anonimlik | Pentest'teki kullanımı |
|---|---|---|---|
| Veri merkezi | Yüksek | Orta | Aktif tarama, Intruder |
| Konut | Orta | Yüksek | Coğrafi engellerin aşılması, kullanıcı taklidi |
| Mobil | Orta | Çok yüksek | Mobil API'leri test etme, katı WAF'ları aşma |
Burp Suite ile çalışırken ipuçları ve sık yapılan hatalar
Burp Suite ile yıllar boyunca çalışarak, pentester topluluğu yeni başlayanların sık yaptığı hatalar ve kanıtlanmış teknikler listesini oluşturmuştur. İşte en önemli olanları.
Yeni başlayanların sık yaptığı hatalar
- CA sertifikasını yüklemeyi unuttular. Belirti: HTTPS siteleri güvenli olmayan bir bağlantı uyarısı gösteriyor, trafik yakalanmıyor. Çözüm: yukarıdaki talimatlara göre sertifikayı yükleyin.
- Intercept açık kaldı. Tarayıcı "dondu" — sayfaları yüklemiyor. Çözüm: Proxy → Intercept'e gidin ve "Intercept is on" butonuna tıklayarak yakalamayı kapatın.
- Sistem trafiği için istisnalar eklemediler. Burp, Windows güncellemeleri, antivirüs vb. trafiği yakalar. Yalnızca gerekli alanları yakalamak için Proxy → Options → Intercept Client Requests bölümünde filtreleri ayarlayın.
- İzin almadan üretim sunucusunu test ediyorlar. Bu yasadışıdır. Yalnızca test ortamlarını veya açık izinli uygulamaları kullanın.
- Target → Site Map sekmesini göz ardı ediyorlar. Burp, tüm uygulamanın haritasını burada oluşturur — tüm keşfedilen uç noktalar, parametreler ve yanıtlar. Bu, keşif sırasında paha biçilmez bir bilgi kaynağıdır.
Faydalı teknikler
- Match and Replace. Proxy → Options → Match and Replace bölümünde isteklerdeki değerlerin otomatik olarak değiştirilmesi ayarlanabilir. Örneğin, başlık eklemek veya User-Agent'ı mobil olarak değiştirmek.
- Decoder. Decoder modülü, verileri hızlı bir şekilde kodlamak/şifrelemek için kullanılır: Base64, URL-encoding, HTML-entities, Hex. Tokenler ve parametreler analizi için vazgeçilmezdir.
- Comparer. İki sunucu yanıtını byte byte karşılaştırmanızı sağlar. İki benzer isteği Comparer'a gönderin ve anında farkı görün.
- BApp Store. Burp Suite, eklentileri destekler (BApp Store). Popüler olanlar: Autorize (yetkilendirme kontrolü), Logger++ (gelişmiş kayıt), Turbo Intruder (Community'de hızlı deneme), JWT Editor.
- Proje kaydedin. Professional sürümde projeyi kaydedebilirsiniz. Community sürümünde, HTTP Geçmişini kaybetmemek için Export → Save state kullanın.
- Scope kullanın. Target → Scope bölümüne hedef uygulamanın alan adını ekleyin. Bu, Burp'ın alakasız trafiği filtrelemesine ve HTTP Geçmişini Google, CDN vb. istekleriyle doldurmamasına yardımcı olur.
Pratik için faydalı kaynaklar
| Kaynak | Tür | Kimin için |
|---|---|---|
| PortSwigger Web Security Academy | Ücretsiz laboratuvarlar + teori | Yeni başlayanlar ve orta seviye |
| DVWA (Damn Vulnerable Web App) | Yerel ortam | Risk olmadan pratik |
| HackTheBox / TryHackMe | Çevrimiçi CTF platformları | Gerçek senaryolar üzerinde pratik |
| WebGoat (OWASP) | Derslerle birlikte yerel ortam | OWASP Top 10'u öğrenme |
Sonuç
Burp Suite, web uygulamalarının güvenliğini test etmek için güçlü ve erişilebilir bir araçtır. Proxy modülü, HTTP/HTTPS trafiğinin tam görünürlüğünü sağlar ve Proxy → Repeater → Intruder kombinasyonu, manuel pentest için çoğu görevi kapsar. Community sürümünden ve PortSwigger Web Security Academy'deki ücretsiz laboratuvarlardan başlayarak ücretsiz olarak başlayabilirsiniz — bu, aracı pratikte öğrenmenin en iyi yoludur.
Başlamak için ana adımlar: Burp Suite'i yükleyin, FoxyProxy aracılığıyla tarayıcıyı ayarlayın, CA sertifikasını yükleyin, hedef alan adını Scope'a ekleyin — ve çalışmaya hazırsınız. Temel modülleri öğrendikten sonra, BApp Store'daki eklentileri incelemeye geçin: Autorize, Turbo Intruder ve JWT Editor, yeteneklerinizi önemli ölçüde genişletecektir.
Pentestiniz kapsamında, standart coğrafi konumları test etmeniz, IP engellerini aşmanız veya gerçek kullanıcı trafiğini taklit etmeniz gerektiğinde, Burp Suite'de upstream proxy ayarlamanızı öneririz. IP itibarı temelinde koruma gerektiren durumlarda yüksek anonimlik ve engelleri aşmak için konut proxy'leri iyi bir seçimdir — gerçek kullanıcı IP adreslerinden trafik sağlar ve test sırasında engellenme riskini en aza indirir.
```