Burp Suite Kullanımı
Burp Suite ile yalnızca kendi web uygulamanızda HTTP/HTTPS trafiğini yakalayın, istekleri inceleyin, Repeater ile güvenli testler yapın ve web güvenliği kontrollerini öğrenin.
1. Burp Suite Nedir?
Burp Suite, web uygulamalarındaki HTTP ve HTTPS trafiğini yakalamak, incelemek ve güvenlik testleri gerçekleştirmek için kullanılan bir web proxy aracıdır.
Tarayıcı ile web sunucusu arasına girerek istek ve cevapların ayrıntılı olarak görülmesini sağlar.
Burp Suite'i yalnızca size ait web uygulamalarında veya açıkça izin verilmiş güvenlik laboratuvarlarında kullanın.
2. Community ve Professional Sürümleri
| Özellik | Community | Professional |
|---|---|---|
| Proxy ve Intercept | Var | Var |
| HTTP History | Var | Var |
| Repeater | Var | Var |
| Decoder ve Comparer | Var | Var |
| Otomatik tarayıcı | Sınırlı / Yok | Var |
| İleri seviye otomasyon | Sınırlı | Var |
Temel eğitim ve manuel testler için Community sürümü yeterlidir.
3. Kali Linux'ta Burp Suite Kurulumu
Kali Linux'ta Burp Suite çoğu zaman hazır gelir. Kontrol etmek için:
burpsuite
Kurulu değilse:
sudo apt update
sudo apt install burpsuite -y
4. Burp Suite'i Başlatma
Terminal üzerinden başlatmak için:
burpsuite
İlk açılışta geçici bir proje oluşturmak için genellikle:
- Temporary project seçeneğini seçin.
- Varsayılan yapılandırmayı kullanın.
- Start Burp ile devam edin.
5. Burp Suite Arayüzü
| Bölüm | Açıklama |
|---|---|
| Dashboard | Proje ve olay durumunu gösterir. |
| Proxy | Tarayıcı trafiğini yakalar ve geçmişi gösterir. |
| Target | Kapsamdaki web uygulamalarını ve site haritasını gösterir. |
| Repeater | Bir isteği düzenleyerek tekrar göndermeyi sağlar. |
| Decoder | URL, Base64 ve benzeri kodlamaları çözer veya kodlar. |
| Comparer | İki istek veya cevabı karşılaştırır. |
6. Proxy Çalışma Mantığı
Burp Suite varsayılan olarak yerel bilgisayarda bir proxy dinleyicisi oluşturur.
127.0.0.1:8080
Tarayıcı proxy ayarı bu adrese yönlendirilince HTTP/HTTPS istekleri Burp üzerinden geçer.
7. Burp Browser Kullanımı
En kolay başlangıç yöntemi Burp Suite'in kendi tarayıcısını kullanmaktır.
- Proxy bölümüne girin.
- Intercept sekmesini açın.
- Open Browser düğmesine tıklayın.
- Yalnızca kendi test sitenizi veya yerel laboratuvarınızı açın.
Bu tarayıcı Burp proxy ayarlarıyla hazır gelir.
8. Harici Tarayıcı Proxy Ayarı
Firefox gibi harici bir tarayıcı kullanıyorsanız manuel proxy ayarı yapılabilir:
| Ayar | Değer |
|---|---|
| HTTP Proxy | 127.0.0.1 |
| Port | 8080 |
| HTTPS Proxy | 127.0.0.1 |
| Port | 8080 |
Test tamamlandıktan sonra tarayıcı proxy ayarını kapatmayı unutmayın.
9. HTTPS Sertifikasını Yükleme
HTTPS trafiğini laboratuvar ortamında incelemek için Burp CA sertifikasının test tarayıcısına yüklenmesi gerekir.
- Burp proxy aktifken tarayıcıdan Burp'ın yerel sertifika sayfasını açın.
- CA sertifikasını indirin.
- Tarayıcının sertifika ayarlarına girin.
- Sertifikayı yalnızca test tarayıcısına güvenilir otorite olarak ekleyin.
Burp CA sertifikasını günlük kullandığınız gerçek tarayıcıya veya başka cihazlara gereksiz yere yüklemeyin.
10. Intercept Kullanımı
Intercept, tarayıcıdan çıkan isteği sunucuya gitmeden önce durdurur.
- Proxy → Intercept bölümünü açın.
- Intercept is ON durumunu etkinleştirin.
- Kendi laboratuvar sayfanızda bir bağlantıya tıklayın.
- İsteği Burp ekranında inceleyin.
- Forward ile isteği sunucuya gönderin.
- Drop ile isteği iptal edin.
11. HTTP İstek Yapısı
Örnek bir laboratuvar isteği:
GET /lab/product?id=10 HTTP/1.1
Host: 127.0.0.1
User-Agent: Burp-Lab-Browser
Accept: text/html
Connection: close
| Alan | Açıklama |
|---|---|
| Method | GET, POST, PUT veya DELETE gibi HTTP yöntemidir. |
| Path | İstenen kaynak yoludur. |
| Host | Hedef web sunucusudur. |
| Headers | Tarayıcı ve istek hakkında ek bilgiler taşır. |
| Body | POST gibi isteklerde gönderilen veridir. |
12. HTTP Cevap Yapısı
Örnek cevap:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 128
Server: nginx
<h1>Laboratuvar Sayfası</h1>
Durum kodu, güvenlik başlıkları, çerezler ve içerik türü analiz edilmelidir.
13. HTTP History
Proxy → HTTP history bölümü Burp üzerinden geçen istek ve cevapları listeler.
Burada şu alanlar incelenebilir:
- Host
- HTTP yöntemi
- URL
- Durum kodu
- Cevap uzunluğu
- İçerik türü
- İstek zamanı
14. Target Scope Ayarlama
Scope, yalnızca belirli laboratuvar uygulamasına odaklanmayı sağlar.
- HTTP History veya Target alanında kendi test uygulamanızı seçin.
- Sağ tıklayıp Add to scope seçeneğini kullanın.
- Gerekirse yalnızca scope içindeki trafiği gösteren filtreyi etkinleştirin.
Scope dışında kalan sistemlere istek göndermeyin.
15. Repeater Kullanımı
Repeater, aynı isteği kontrollü biçimde değiştirip tekrar göndermek için kullanılır.
- Kendi laboratuvar isteğinizi HTTP History'de seçin.
- Sağ tıklayıp Send to Repeater seçeneğini kullanın.
- Repeater sekmesine geçin.
- Zararsız bir parametre değerini değiştirin.
- Send düğmesiyle isteği gönderin.
- Eski ve yeni cevabı karşılaştırın.
16. Güvenli Repeater Laboratuvarı
Örneğin kendi yerel uygulamanızdaki ürün kimliğini değiştirin:
GET /lab/product?id=10 HTTP/1.1
Host: 127.0.0.1
GET /lab/product?id=11 HTTP/1.1
Host: 127.0.0.1
Amaç uygulamanın normal parametre davranışını anlamaktır; yetki atlatma veya başka kullanıcı verisine erişme testi yapılmamalıdır.
17. Decoder Kullanımı
Decoder, metin verilerini farklı biçimlerde kodlamak veya çözmek için kullanılabilir.
Zararsız laboratuvar metni:
BURP_LAB_TEST
Bu metni URL veya Base64 formatına dönüştürüp sonuçları karşılaştırabilirsiniz.
18. Comparer Kullanımı
Comparer iki istek veya cevabın farklarını gösterir.
- İlk cevabı Comparer'a gönderin.
- Değiştirilen isteğin cevabını da Comparer'a gönderin.
- Kelime veya byte karşılaştırmasını başlatın.
- Değişen alanları inceleyin.
19. Çerezleri İnceleme
HTTP cevaplarında
Set-Cookie başlığı kontrol
edilmelidir.
| Özellik | Amacı |
|---|---|
| HttpOnly | JavaScript üzerinden çerez erişimini sınırlar. |
| Secure | Çerezin yalnızca HTTPS üzerinden gönderilmesini sağlar. |
| SameSite | Siteler arası isteklerde çerez kullanımını sınırlar. |
| Path | Çerezin geçerli olduğu yolu belirler. |
| Expires / Max-Age | Çerezin yaşam süresini belirler. |
20. Güvenlik Başlıklarını Kontrol Etme
| Başlık | Amacı |
|---|---|
| Content-Security-Policy | İzin verilen içerik kaynaklarını sınırlar. |
| Strict-Transport-Security | HTTPS kullanımını zorunlu hale getirir. |
| X-Content-Type-Options | MIME türü tahminini engeller. |
| Referrer-Policy | Referans bilgisinin paylaşımını sınırlar. |
| Permissions-Policy | Tarayıcı özelliklerini sınırlar. |
| frame-ancestors / X-Frame-Options | Sayfanın iframe içinde açılmasını kontrol eder. |
21. Form Güvenliği Kontrolü
Kendi uygulamanızdaki formlarda şu kontroller yapılabilir:
- Form HTTPS üzerinden mi gönderiliyor?
- Sunucu tarafı doğrulama var mı?
- CSRF koruması uygulanıyor mu?
- Hata mesajları hassas bilgi sızdırıyor mu?
- Parola alanı otomatik doldurma politikasına uygun mu?
- Girdi uzunluk sınırları bulunuyor mu?
22. Sunucu Loglarıyla Karşılaştırma
Burp üzerinden gönderilen laboratuvar isteklerini sunucu loglarında kontrol etmek faydalıdır.
Nginx:
sudo tail -f /var/log/nginx/access.log
Apache:
sudo tail -f /var/log/apache2/access.log
23. Proje ve Verileri Güvenli Saklama
Burp proje ve trafik kayıtları hassas bilgiler içerebilir.
- Gerçek parola veya oturum bilgisi içeren projeleri paylaşmayın.
- Proje dosyalarını şifreli depolamada saklayın.
- Ekran görüntülerinde token ve çerezleri gizleyin.
- Çalışma sonunda gereksiz kayıtları silin.
24. Uygulamalı Güvenli Laboratuvar
- Burp Suite'i başlatın.
- Temporary Project oluşturun.
- Burp Browser'ı açın.
- Yalnızca kendi yerel laboratuvar sayfanızı ziyaret edin.
- Intercept ile bir GET isteğini durdurun.
- İsteğin method, path, host ve header alanlarını inceleyin.
- İsteği Forward ile gönderin.
- HTTP History'den isteği Repeater'a aktarın.
- Zararsız bir parametreyi değiştirip tekrar gönderin.
- İki cevabı Comparer ile karşılaştırın.
- Çerez ve güvenlik başlıklarını inceleyin.
- Proxy ayarını kapatın ve laboratuvar verilerini temizleyin.
25. Web Güvenliği Kontrol Listesi
- HTTPS zorunlu mu?
- Güvenli çerez özellikleri var mı?
- CSP ve diğer güvenlik başlıkları uygulanmış mı?
- Sunucu tarafı girdi doğrulaması var mı?
- Hata mesajları güvenli mi?
- Yetkilendirme her istekte kontrol ediliyor mu?
- CSRF koruması mevcut mu?
- Oturumlar güvenli biçimde sonlandırılıyor mu?
- Loglama ve alarm mekanizması bulunuyor mu?
26. Sık Karşılaşılan Hatalar
Tarayıcı internete çıkmıyor
- Burp Suite'in çalıştığını kontrol edin.
- Proxy adresinin 127.0.0.1:8080 olduğunu doğrulayın.
- Intercept açıkken bekleyen istek olup olmadığını kontrol edin.
HTTPS sertifika hatası
Burp CA sertifikasının yalnızca test tarayıcısına doğru şekilde yüklendiğini kontrol edin.
Port 8080 kullanımda
Dinleyen süreçleri kontrol edin:
sudo ss -lntp | grep 8080
İstekler HTTP History'de görünmüyor
- Tarayıcının gerçekten Burp proxy kullandığını kontrol edin.
- Scope ve görünüm filtrelerini kontrol edin.
- Burp Browser ile tekrar deneyin.
27. Sonuç
Bu dokümanda Burp Suite kurulumu, proxy mantığı, Burp Browser, HTTPS sertifikası, Intercept, HTTP History, Scope, Repeater, Decoder, Comparer, çerezler ve güvenlik başlıkları ele alındı.
Burp Suite'i öğrenmenin en güvenli yolu, yalnızca kendi yerel web uygulamanız üzerinde istek ve cevapları adım adım incelemektir.