Active Directory Güven İlişkisi Sorunu
Active Directory ortamında sıkça karşılaşılan “The trust relationship b...
 
        
YASAL VE ETİK SORUMLULUK UYARISI             
                                                              
  🚫 BU REHBER YALNIZCA:                                     
  ✅ Kendi web sitenizde/sistemlerinizde                     
  ✅ Yazılı izin aldığınız sistemlerde                       
  ✅ Yasal penetration testing projelerinde                  
  ✅ Eğitim ve güvenlik farkındalığında kullanılabilir       
                                                              
  🚫 BU REHBER İLE YAPILMASI YASAK:                          
  ❌ İzinsiz 3. taraf sistemlere saldırı                     
  ❌ Başkasının verilerine yetkisiz erişim                   
  ❌ Ticari maalsı ve kötü niyetli amaçlar                   
                                                              
                                                   
  Türk Ceza Kanunu (TCK) 215, 217, 524 maddeleri             
             
                                                              
  BAŞLAMADAN ÖNCE:                                        
  1. Yazılı yetkilendirme alınız (email/sözleşme)           
  2. İzin kapsamını net belirleyin                           
  3. Kanuni danışman ile danışınız                           
  4. Denetim izleri tutunuz   
Google Dorking (veya Google Hacking), Google arama motorunun gelişmiş operatörlerini kullanarak normalde erişilmesi zor olan veya gizlenmiş bilgileri bulmak tekniğidir.
Örnek:
❌ Zayıf Arama: "password"
✅ Güçlü Dorking: intitle:"index of" site:hedefsite.com filetype:sql
Sonuç: Sitenizde açıkta kalmış SQL dosyaları bulunur
| Dorking | Hacking | 
|---|---|
| Yasal (çoğunlukla) | Yasadışı | 
| Herkese açık verileri kullanır | Güvenlik kırmaya çalışır | 
| Arama motoru operatörü | Yazılım açıklarını istismar | 
| Pasif keşif | Aktif saldırı | 
| "Elimde ne var?" | "Nasıl içeri girebilirim?" | 
📰 SKANDALLAR:
1. Tesla (2018)
   └─ Google Dorking → Tesla'nın dahili belgeler bulundu
   └─ Tüm çalışanlarının E-mail listesi
   └─ Patent bilgileri
   └─ Sonuç: Acil olarak gizlendi
2. Yahoo (2014)
   └─ Exposed phpmyadmin arayüzü (dorking ile)
   └─ 500 milyon kullanıcı verisi sızdı
   
3. Fort Meade (ABD Askeri Üs)
   └─ intitle:"Fort Meade" intext:password
   └─ Açık havada radar görüntüleri
   └─ Sonuç: Derhal silinmiş
4. Twitter API Keys (2021)
   └─ filetype:env site:github.com intext:API_KEY
   └─ Yüzlerce gizli anahtar tespit edilmiş
SORU: "Eğer birisi Google ile bulabiliyorsa, neden gizlemeliyim?"
CEVAP: 
  ↳ Bilgi sızıntısı = İç kontroller başarısızlığı
  ↳ Denetçilere kötü görünüyor
  ↳ Saldırganlar bunu kullanan şu an
  ↳ İlk adım = Keşif, ikinci adım = Saldırı
site: - Belirli sitede aramasite:hedefsite.com password
site:hedefsite.com admin
site:example.org filetype:pdf
Kullanım: Sadece hedef alan adında arama yap
intitle: - Başlıkta kelime bulunmaintitle:"index of" 
intitle:"admin login"
intitle:"phpinfo()"
intitle:"Apache Status"
Kullanım: Sayfa başlığında belirli metin ara
inurl: - URL'de kelime bulunmainurl:admin
inurl:/phpmyadmin
inurl:wp-admin
inurl:backup
Kullanım: URL yolunda belirli metin ara
filetype: - Dosya türüfiletype:pdf
filetype:doc
filetype:xls
filetype:sql
filetype:env
filetype:conf
Kullanım: Belirli uzantıdaki dosyaları bul
intext: - Sayfanın içeriğinde metinintext:"password:"
intext:"username:"
intext:"confidential"
intext:"restricted"
Kullanım: Sayfa içerisinde belirli metin ara
ext: - Dosya uzantısı (filetype'ın alternatifi)ext:sql
ext:bak
ext:old
ext:conf
ext:config
Kullanım: Filetype gibi, uzantıya göre ara
- (Eksi) - Hariç tutmasite:example.com filetype:pdf -sample
filetype:sql password -test
intitle:"index of" -apache
Kullanım: Sonuçlardan belirli terimleri çıkar
"" (Tırnak) - Tam eşleşme"password123"
"admin@example.com"
"database backup"
Kullanım: Tam cümle ara (boşluk ve özel karakterler dahil)
OR / | - Veya operatörüfiletype:sql OR filetype:bak
intitle:admin OR intitle:administrator
site:example.com OR site:example.org
Kullanım: Çok seçenekli arama
* - Wildcard (Joker)intitle:"index of" *
filetype:* password
inurl:*/admin/*
Kullanım: Herhangi bir kelime yerine koyma
cache:hedefsite.com
└─ Google'ın önbelleğinde sayfa nasıldı?
related:hedefsite.com
└─ Benzer siteleri bul
link:hedefsite.com
└─ Hangi siteler bağlantı vermiş?
info:hedefsite.com
└─ Site hakkında genel bilgi
define:
└─ Tanım ara (genellikle dorking'de kullanılmaz)
ÖRNEK 1: SQL Backup Dosyası Bulma
─────────────────────────────────
site:hedefsite.com filetype:sql backup
ÖRNEK 2: Açık Admin Paneli
─────────────────────────────────
intitle:"admin login" site:*.com -sample -test
ÖRNEK 3: Yapılandırma Dosyaları
─────────────────────────────────
filetype:conf -example -sample intext:password
ÖRNEK 4: API Keys
─────────────────────────────────
filetype:env intext:"API_KEY" OR intext:"SECRET_KEY"
ÖRNEK 5: Hata Mesajları
─────────────────────────────────
site:hedefsite.com intext:"Fatal error" OR intext:"SQL syntax error"
# 1. Tüm dizinleri liste yap
intitle:"index of" site:hedefsite.com
# 2. Admin dizini
intitle:"index of /" +admin site:hedefsite.com
# 3. Yedekleme dizini
intitle:"index of" +backup site:hedefsite.com
# 4. Hassas dosya erişimi
intitle:"index of /" +passwd
intitle:"index of /" +password.txt
intitle:"index of /" +.htaccess
Sonuç: Site yapısını haritala, erişilebilir dosyalar bul
# 5. Database yapılandırması
filetype:conf inurl:proftpd.conf -sample
filetype:ini inurl:ws_ftp.ini
filetype:config web.config -sample
# 6. Web sunucu yapılandırması
ext:xml php.xml
ext:conf httpd.conf -example
filetype:properties "db.password"
Sonuç: Sunucu ayarları, veri tabanı bağlantı bilgileri
# 7. Admin login arayüzleri
inurl:admin intitle:login
inurl:administrator intitle:login
inurl:moderator intitle:login
inurl:webadmin intitle:login
# 8. CMS giriş sayfaları
inurl:wp-admin site:hedefsite.com
inurl:joomla/administrator
inurl:drupal/user/login
Sonuç: Saldırganlar buradan brute force atağı yapabilir
# 9. SQL dump dosyaları
filetype:sql intext:password
filetype:sql intext:username
filetype:sql "IDENTIFIED BY" -git
# 10. Database backup'ları
ext:sql dump
ext:sql backup
filetype:sql intext:"CREATE TABLE"
Sonuç: Tüm kullanıcı bilgileri, şifreler, veri tabanı yapısı
# 11. Hassas log dosyaları
filetype:log username
filetype:log password
ext:log inurl:access.log
# 12. Hata logları
filetype:log "PHP Parse error"
filetype:log "Software error"
ext:log inurl:error.log
Sonuç: Sistem zafiyetleri, hata mesajları, potansiyel açıklar
# 13. Çevre dosyaları
filetype:env "DB_PASSWORD"
filetype:env "API_KEY"
filetype:yml "DB_PASSWORD"
# 14. Özel yapılandırma dosyaları
filetype:ini "mysql.default_password"
filetype:properties "db.password"
filetype:config "password"
Sonuç: Database credentials, API keys, encryption keys
# 15. Verbose hata sayfaları
intext:"sql syntax near"
intext:"error mysql"
intext:"Fatal error: Call to undefined function"
# 16. Detaylı hata bilgileri
intitle:"Fatal Error" intext:"Stack trace"
intext:"Warning: mysql_connect()"
"Index of /errors"
Sonuç: Sistem yapısı ifşa, zamanlanmış kod yolları, veri tabanı türü
# 17. Sunucu yönetim panelleri
intitle:"Apache Status"
intitle:"phpinfo()"
inurl:phpmyadmin/setup/index.php
inurl:server-info
# 18. Sistem bilgileri
intitle:"Server Information" "System Memory"
intitle:"System Information"
intitle:"IIS Windows Server"
Sonuç: Sunucu versiyonu, PHP sürümü, yüklü modüller, sistem info
# 19. Açık FTP dizinleri
intitle:"index of" inurl:ftp
intext:"Index of /" +.ssh
intitle:"Apache2 Ubuntu Default Page"
# 20. Varsayılan sunucu sayfaları
intitle:"Welcome to nginx"
intitle:"IIS Windows Server"
Sonuç: FTP erişimi, SSH anahtarları, varsayılan konfigürasyon
# Script: Google_Dorking_Site_Audit.ps1
$SiteURL = "hedefsite.com"
$OutputFile = "dorking_audit_$(Get-Date -Format yyyyMMdd).txt"
# Tüm sorguları test et
$Queries = @(
    "intitle:`"index of`" site:$SiteURL",
    "filetype:sql site:$SiteURL",
    "filetype:env site:$SiteURL",
    "filetype:conf site:$SiteURL",
    "inurl:admin intitle:login site:$SiteURL",
    "filetype:log site:$SiteURL",
    "intext:password site:$SiteURL",
    "inurl:phpmyadmin site:$SiteURL",
    "intitle:phpinfo site:$SiteURL",
    "filetype:bak site:$SiteURL"
)
Write-Host "🔍 Google Dorking Denetimi Başladı..." -ForegroundColor Cyan
Write-Host "Sorgulanacak site: $SiteURL`n" -ForegroundColor Yellow
# NOT: Bu script manuel olarak Google'da çalıştırmanız gerekir
# Automated'ın yerine, her sorguyu tarayıcıda kontrol edin
foreach ($Query in $Queries) {
    $GoogleURL = "https://www.google.com/search?q=$Query"
    Write-Host "📍 Sorgu: $Query"
    Write-Host "🔗 URL: $GoogleURL`n"
}
# AÇIK BULGU KAYDET
$Findings = @(
    "❌ SQL Dosyası Bulundu",
    "❌ .env Dosyası Erişilebilir",
    "⚠️ Admin Panel Google'da İndeksli",
    "⚠️ Log Dosyaları Açık"
)
$Findings | Out-File -Path $OutputFile
Write-Host "✅ Rapor: $OutputFile" -ForegroundColor Green
ADIM 1: Dizin Listeleme Testi
──────────────────────────────
🔍 Sorgu:    intitle:"index of" site:hedefsite.com
✅ Beklenen:  Sonuç yok (veya sadece istenilen dizinler)
❌ Risk:      Tüm dizinler listeleniyorsa = Veri sızıntısı riski
ADIM 2: Yapılandırma Dosya Testi
──────────────────────────────
🔍 Sorgu:    filetype:env site:hedefsite.com
✅ Beklenen:  Sonuç yok
❌ Risk:      .env bulunursa = Database credentials ifşa
ADIM 3: Hata Sayfası Testi
──────────────────────────
🔍 Sorgu:    intext:"Fatal error" site:hedefsite.com
✅ Beklenen:  Sonuç yok
❌ Risk:      Verbose hata = Sistem yapısı ifşa
ADIM 4: Admin Panel Testi
──────────────────────────
🔍 Sorgu:    inurl:admin intitle:login site:hedefsite.com
✅ Beklenen:  Sonuç yok (private admin panel'i)
❌ Risk:      Google'da indeksli admin = Brute force hedefi
ADIM 5: SQL Backup Testi
──────────────────────────
🔍 Sorgu:    filetype:sql site:hedefsite.com
✅ Beklenen:  Sonuç yok
❌ Risk:      SQL dosyası = Tüm veri tabanı indirilmiş
DORKİNG DENETIM RAPORU
════════════════════════════════════════
TARIH: 2025-10-24
SİTE: hedefsite.com
DENETÇI: [İsim]
┌─────────────────────────────────────────┐
│         BULUNMUŞ RISKLER                │
├─────────────────────────────────────────┤
│                                          │
│ 🔴 KRITIK:                              │
│    ├─ SQL Backup Dosyası Accessible     │
│    ├─ .env Dosyası İndeksli            │
│    └─ Database Credentials Exposed      │
│                                          │
│ 🟡 UYARI:                               │
│    ├─ Admin Panel Google'da İndeksli   │
│    ├─ Hata Mesajları Verbose           │
│    └─ Log Dosyaları Açık               │
│                                          │
│ 🟢 NORMAL:                              │
│    ├─ Dizin Listeleme Kapalı           │
│    └─ Yapılandırma Dosyaları Gizli     │
│                                          │
└─────────────────────────────────────────┘
ÖNERİLER:
─────────
1. robots.txt güncelle (hassas dosyaları gizle)
2. .htaccess ile admin paneli koru
3. .env dosyaları web root'ün dışına taşı
4. SQL backup'ları indeksleme dışı bırak
5. Hata mesajlarını verbose moddan çıkar
# robots.txt
# Tüm arama motorları için
User-agent: *
# ❌ GİZLE: Hassas dizinler
Disallow: /admin/
Disallow: /backup/
Disallow: /private/
Disallow: /config/
Disallow: /.env
# ❌ GİZLE: Hassas dosya türleri
Disallow: *.sql
Disallow: *.bak
Disallow: *.conf
Disallow: *.log
Disallow: *.env
# ❌ GİZLE: Sistem dosyaları
Disallow: /wp-config.php
Disallow: /web.config
Disallow: /phpmyadmin/
# ✅ İZİN VER: Gerekli dosyalar
Allow: /css/
Allow: /js/
Allow: /images/
# Crawl gecikmesi
Crawl-delay: 10
# Sitemap
Sitemap: https://hedefsite.com/sitemap.xml
NOT: robots.txt SADECE iyi niyetli bot'ları durduruyor! Kötü amaçlı bot'lar bunu yok sayar.
# .htaccess - Apache sunucular için
# 1. Dizin listelemeyi devre dışı bırak
Options -Indexes
# 2. Belirli dosya türlerine erişimi engelle
<FilesMatch "\.env$|\.sql$|\.bak$|\.conf$|\.log$">
    Order allow,deny
    Deny from all
</FilesMatch>
# 3. Gizli dosyaları koru
<Files "wp-config.php">
    Order allow,deny
    Deny from all
</Files>
<Files "configuration.php">
    Order allow,deny
    Deny from all
</Files>
# 4. Backup dizinini koru
<Directory "/var/www/backup">
    Order allow,deny
    Deny from all
</Directory>
# 5. Admin panelini IP ile sınırla (isteğe bağlı)
<Directory "/var/www/admin">
    <Limit GET POST>
        Order allow,deny
        Deny from all
        Allow from 192.168.1.0/24
        Allow from 10.0.0.1
    </Limit>
</Directory>
# 6. Hata mesajlarını gizle
php_flag display_errors Off
php_flag log_errors On
<!-- web.config - Microsoft IIS -->
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    
    <!-- Dizin listelemeyi devre dışı bırak -->
    <directoryBrowse enabled="false" />
    
    <!-- Belirli dosyaları koru -->
    <security>
      <requestFiltering>
        <fileExtensions>
          <add fileExtension=".env" allowed="false" />
          <add fileExtension=".sql" allowed="false" />
          <add fileExtension=".bak" allowed="false" />
          <add fileExtension=".conf" allowed="false" />
          <add fileExtension=".log" allowed="false" />
        </fileExtensions>
        
        <hiddenSegments>
          <add segment="web.config" />
          <add segment=".env" />
          <add segment="backup" />
          <add segment="admin" />
        </hiddenSegments>
      </requestFiltering>
    </security>
    
    <!-- Hata sayfalarını özelleştir (Verbose bilgisiz) -->
    <httpErrors errorMode="Custom" defaultPath="/errors/error.html">
      <error statusCode="404" path="/errors/404.html" />
      <error statusCode="500" path="/errors/500.html" />
    </httpErrors>
    
  </system.webServer>
</configuration>
📌 ADIMLAR:
1. Google Search Console'e gir
   https://search.google.com/search-console
2. Sitenizi doğrula (DNS/HTML/Sitemap)
3. "Kapsam" → "Hariç Tutmalar" kontrol et
   ├─ Gizli dosyalar indekslenmemiş mi?
   ├─ Admin paneli indekslenmemiş mi?
   └─ Private dizinler var mı?
4. "URL Denetimi" ile spesifik sayfaları kontrol et
   ├─ inurl:admin
   ├─ filetype:env
   └─ filetype:sql
5. "Çıkarma İsteği" (Removal Requests)
   ├─ Hassas sayfaları iste
   ├─ Zaman aşımı: 3 ay (Google'dan kalkıyor)
   └─ Kalıcı olması için robots.txt güncelleyin
6. Sitemap'ı yönet
   ├─ Hassas dosya YÜKLEMEYIN
   ├─ Sadece halka açık sayfaları ekleyin
   └─ Düzenli güncelleyin
<!-- HTML Head'e ekle -->
<!-- Google'a indeksleme -->
<meta name="robots" content="noindex, nofollow" />
<!-- Belirli sayfalar için (admin gibi) -->
<meta name="googlebot" content="noindex" />
<!-- Bing için -->
<meta name="bingbot" content="noindex" />
<!-- Private sayfalar için -->
<meta name="robots" content="noindex, nofollow, noarchive" />
<!-- Cache yasakla -->
<meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="expires" content="0" />
GERÇEK: Sadece %5 web sayfası Google tarafından indekslenir!
        Diğer arama motorları farklı sayfalar bulabilir
        
SONUÇ:  Bing'de gizli dosya bulunabilir ama Google'da yok
        DuckDuckGo farklı crawling kurallarına sahip
site:         Belirli sitede arama (Google gibi)
intitle:      Başlıkta arama (Google gibi)
inurl:        URL'de arama (Google gibi)
filetype:     Dosya türü (Google gibi)
FAKAT Bing'in kendine özgü operatörleri:
ip:           IP adresine göre ara
domain:       Domain bilgisi ara
linkfromdomain: Spesifik domainlerden linkler
contains:     Metin içeriğini ara
# 1. Dizin Listeleme (Bing'de)
intitle:"index of" site:hedefsite.com
# 2. SQL Dosyaları
filetype:sql site:hedefsite.com password
# 3. .env Dosyaları
filetype:env site:hedefsite.com
# 4. Admin Panelleri
inurl:admin site:hedefsite.com intitle:login
# 5. Log Dosyaları
filetype:log site:hedefsite.com
# 6. IP Adresi Tarafından Ara (Bing'e özel!)
ip:192.168.1.1
ip:10.0.0.0/24
# 7. Domain İstatistikleri
domain:hedefsite.com
# 8. BackLink Analizi
linkfromdomain:example.com site:hedefsite.com
https://www.bing.com/search?q=site:hedefsite.com+filetype:sql
DuckDuckGo daha sınırlı operatör desteği sunar ama faydalı hale getirilebilir:
site:         Belirli sitede arama
filetype:     Dosya türü
intitle:      Başlıkta metin
inurl:        URL'de metin
ÖZEL: DuckDuckGo Google'dan daha az operatörü destekler
      Fakat farklı içeriği indekslediği için faydalı olabilir
# 1. Temel Site Araması
site:hedefsite.com admin
# 2. Dosya Türü
filetype:pdf site:hedefsite.com
# 3. Başlık ve URL Kombinasyonu
intitle:admin inurl:panel site:hedefsite.com
# 4. Password Dosyaları
filetype:txt password site:hedefsite.com
# 5. Konfigürasyon Dosyaları
filetype:conf site:hedefsite.com
# 6. Database Dosyaları
filetype:sql site:hedefsite.com
https://duckduckgo.com/?q=site:hedefsite.com+filetype:sql
| Operatör | Bing | DuckDuckGo | |
|---|---|---|---|
| site: | ✅ | ✅ | ✅ | 
| intitle: | ✅ | ✅ | ✅ | 
| inurl: | ✅ | ✅ | ✅ | 
| filetype: | ✅ | ✅ | ✅ | 
| ip: | ❌ | ✅ | ❌ | 
| cache: | ✅ | ✅ | ❌ | 
| related: | ✅ | ✅ | ❌ | 
| link: | ✅ | ✅ | ❌ | 
| intext: | ✅ | ✅ | ✅ | 
| OR / | | ✅ | ✅ | ✅ | 
| - (hariç) | ✅ | ✅ | ✅ | 
# Script: Multi_Search_Engine_Dorking.ps1
$Site = "hedefsite.com"
$Queries = @(
    "filetype:sql",
    "filetype:env",
    "intitle:admin",
    "inurl:backup"
)
Write-Host "🔍 Multi-Engine Dorking Başladı`n" -ForegroundColor Cyan
foreach ($Query in $Queries) {
    $GoogleURL = "https://www.google.com/search?q=site:$Site+$Query"
    $BingURL = "https://www.bing.com/search?q=site:$Site+$Query"
    $DuckURL = "https://duckduckgo.com/?q=site:$Site+$Query"
    
    Write-Host "📍 Sorgu: $Query"
    Write-Host "  Google: $GoogleURL"
    Write-Host "  Bing:   $BingURL"
    Write-Host "  Duck:   $DuckURL`n"
}
Burp Suite, web uygulamalarının güvenlik testini yapan profesyonel araçtır.
KULLANIM: 
├─ Proxy olarak: Tüm HTTP trafiğini yakala ve analiz et
├─ Scanner olarak: Otomatik güvenlik açıkları tara
├─ Repeater olarak: Talepler manuel olarak tekrarla
└─ Intruder olarak: Brute force saldırıları yap
# Windows/Mac/Linux
# İndir: https://portswigger.net/burp
# Community Edition (Ücretsiz)
# Professional Edition (Ücretli - $399/yıl)
# Linux kurulumu:
cd ~/tools
wget https://portswigger.net/burp/downloads/community-latest.jar
java -jar burpsuite_community_latest.jar
ADIM 1: Hedef Belirleme
  └─ Burp'te "Target" → Site Haritası
  └─ Sitenin tüm sayfaları taranır
ADIM 2: Directives Ekleme
  └─ "Settings" → "Session Handling Rules"
  └─ Crawler directives ekle
ADIM 3: Tarama Başlatla
  └─ "Scanner" → "Active Scan"
  └─ Açıkları otomatik tespit et
ADIM 4: Dorking Sonuçları
  └─ Açık dosyaları tespit et
  └─ Admin panelleri, backup'lar vb.
ADIM 5: Rapor Oluştur
  └─ "Report" → HTML/PDF
  └─ Bulguları belge et
<!-- Burp Tarama Profili Örneği -->
Profile Name: "Dorking Simulation"
Crawl Settings:
├─ Follow redirects: ON
├─ Crawl Java applets: OFF
├─ Crawl client-side JavaScript: ON
└─ Include comments in crawl scope: ON
Scanner Settings:
├─ Active scan: ON
├─ Passive scan: ON
├─ Extensions: ON
└─ Scan maximum: 100% coverage
Check Categories:
├─ Information Gathering: ON
├─ Configuration: ON
├─ File Disclosure: ON
└─ Miscellaneous: ON
// Burp Makro Örneği
// Giriş yap → Admin paneline eriş
def response1 = sendRequest(loginRequest);
def sessionCookie = extractHeader(response1, "Set-Cookie");
def response2 = sendRequest(adminRequest, sessionCookie);
def vulnerabilities = analyzeResponse(response2);
| Özellik | Community | Professional | 
|---|---|---|
| Passive Scan | ✅ | ✅ | 
| Active Scan | ❌ | ✅ | 
| Intruder | ✅ (sınırlı) | ✅ (unlimited) | 
| Scanner | ❌ | ✅ | 
| Repeater | ✅ | ✅ | 
| Decoder | ✅ | ✅ | 
| Comparator | ✅ | ✅ | 
| Sequencer | ✅ | ✅ | 
| Macro (API) | ❌ | ✅ | 
| Extender | ✅ | ✅ | 
Önemli Extensions:
├─ AuthMatrix - Multi-user authorization test
├─ Custom Parameter Handler - Spesifik parametreleri test et
├─ SQLMap integration - SQL injection otomatik
├─ Turbo Intruder - Hızlı brute force
└─ Collaborator Everywhere - Out-of-band testing
SENARYO: hedefsite.com'un güvenliğini test et
ADIM 1: Proxy Ayarla
──────────────────
├─ Proxy: 127.0.0.1:8080
├─ Scope: hedefsite.com
└─ Tarayıcı proxy ayarını Burp'e yönlendir
ADIM 2: Siteler Proxy ile Taray
──────────────────
├─ Tarayıcıda hedefsite.com ziyaret et
├─ Tüm sayfalar proxy aracılığıyla geç
└─ HTTP istekleri Burp'te kaydedilir
ADIM 3: Site Haritası Oluştur
──────────────────
├─ "Target" → "Site Map"
├─ İndent edilmiş yapı görünür
└─ Erişilebilir dizinler tespit edilir
ADIM 4: Tarama Başlat
──────────────────
├─ Sorgu seç (sağ tıkla)
├─ "Scan" → "Active Scan"
├─ Tarama başlar (5-30 dakika)
└─ Açıklar tespit edilir
ADIM 5: Rapor
──────────────────
├─ "Results" → Açıkları gözden geçir
├─ Sınıf: Kritik/Yüksek/Orta/Düşük
├─ İnsan tasarımı: SQL Injection, XSS vb.
└─ "Report" → HTML olarak kaydet
AMAÇ: Belirli bir isteği tekrar tekrar göndererek test et
ADIM 1: İsteği Yakala
├─ Proxy'de HTTP isteğini bul
├─ Sağ tıkla → "Send to Repeater"
ADIM 2: İsteği Düzenle
├─ Headers: Authorization, Cookies değiştir
├─ Body: POST parametreleri oynat
├─ Spesifik senaryoları test et
ADIM 3: Gönder ve Analiz Et
├─ Gönder (Ctrl+Enter)
├─ Response: Status kodu, body, headers
├─ Açık mı? (Unexpected behavior?)
ÖRNEK:
GET /admin/panel.php HTTP/1.1
Host: hedefsite.com
Cookie: sessionid=12345
YANIT:
200 OK
Content-Type: text/html
← Admin paneli açılırsa = Authentication Bypass!
OSINT (Open Source Intelligence), internet'te herkese açık kaynakları kullanarak istihbarat toplamaktır.
OSINT KAYNAKLARI:
├─ Arama motorları (Google, Bing)
├─ Sosyal medya (Twitter, LinkedIn)
├─ WHOIS veritabanı
├─ DNS kayıtları
├─ İnternet Arşivi (Wayback Machine)
├─ Haber kaynakları
├─ Forum'lar ve bloglara
└─ Kamuya açık belgeler
| Araç | Kullanım | Platform | 
|---|---|---|
| Shodan | İnternet'te bağlı cihazlar bul | Web | 
| Censys | SSL sertifikaları, sunucular | Web | 
| theHarvester | Email adresleri topla | CLI | 
| Recon-ng | Modüler keşif | CLI | 
| OSINT Framework | Tüm araçları bir dashboard'da | Web | 
| SpiderFoot | Otomatik OSINT | GUI/Web | 
| Maltego | Görsel ilişki analizi | GUI | 
| Whois | Domain bilgisi | CLI | 
| DNSrecon | DNS enumerasyonu | CLI | 
| Nmap | Ağ taraması | CLI | 
Shodan, internet'te bağlı olan sunucuları, IoT cihazlarını, kameralarını, yazıcılarını tarar.
# Pip yüklü olmalı
pip install shodan
# API Key al: https://www.shodan.io/
# Kayıt: https://account.shodan.io/register
#!/usr/bin/env python3
# shodan_dorking.py
import shodan
import json
# API Key (https://account.shodan.io/)
SHODAN_API_KEY = "YOUR_API_KEY"
def search_shodan(query):
    """Shodan'da arama yap"""
    api = shodan.Shodan(SHODAN_API_KEY)
    
    try:
        print(f"🔍 Shodan'da arama: {query}\n")
        results = api.search(query)
        
        print(f"✅ {results['total']} sonuç bulundu\n")
        
        for result in results['matches']:
            print(f"IP: {result['ip_str']}")
            print(f"Port: {result['port']}")
            print(f"Başlık: {result.get('title', 'N/A')}")
            print(f"ISP: {result.get('isp', 'N/A')}")
            print(f"Location: {result.get('location', {}).get('country_name', 'N/A')}")
            print(f"─" * 50)
    
    except shodan.APIError as e:
        print(f"❌ Hata: {e}")
# Örnek Sorgular
if __name__ == "__main__":
    queries = [
        'product:"Apache" port:80',
        'title:"admin" port:8080',
        'phpmyadmin city:"Istanbul"',
        'webcam city:"Ankara"',
        'SCADA city:"Turkey"'
    ]
    
    for query in queries:
        search_shodan(query)
        print("\n" + "=" * 50 + "\n")
# 1. Apache Sunucuları
product:"Apache"
# 2. Default Portlar
port:8080 product:Apache
# 3. phpMyAdmin Açık
phpmyadmin
# 4. Telnet Açık (Tehlikeli!)
port:23 telnet
# 5. RDP Açık
port:3389 RDP
# 6. Webcamlar
html:"webcamxp"
# 7. Yazıcılar
"Xerox" port:80
# 8. SCADA Sistemleri
SCADA
# 9. Sertifikalar ile Arama
ssl:certificate
# 10. IP Aralığında Arama
net:192.168.1.0/24
Censys, SSL sertifika bilgilerinden hedef hakkında bilgi toplar.
pip install censys
# API Key: https://censys.io/
#!/usr/bin/env python3
# censys_dorking.py
from censys.certificates import CensysCertificates
from censys.hosts import CensysHosts
# API Anahtarları
UID = "YOUR_UID"
SECRET = "YOUR_SECRET"
def search_certificates(domain):
    """Domain için sertifikaları ara"""
    cert = CensysCertificates(UID, SECRET)
    
    try:
        print(f"🔍 {domain} için sertifikaları tarama...\n")
        results = cert.query(f"parsed.names: {domain}")
        
        for result in results:
            print(f"Sertifika: {result['fingerprint_sha256']}")
            print(f"Subject: {result['subject']}")
            print(f"İssuer: {result['issuer']}")
            print(f"Geçerlilik: {result['validity_period_start']} - {result['validity_period_end']}")
            print(f"─" * 50)
    
    except Exception as e:
        print(f"❌ Hata: {e}")
def search_hosts(query):
    """Sunucuları ara"""
    hosts = CensysHosts(UID, SECRET)
    
    try:
        print(f"🔍 {query} için sunucuları tarama...\n")
        results = hosts.query(query)
        
        for result in results:
            print(f"IP: {result['ip']}")
            print(f"AS: {result['autonomous_system']}")
            print(f"Location: {result['location']}")
            print(f"─" * 50)
    
    except Exception as e:
        print(f"❌ Hata: {e}")
if __name__ == "__main__":
    search_certificates("hedefsite.com")
    search_hosts("hedefsite.com")
theHarvester, email adresleri ve subdomain'leri çeşitli kaynaktan toplar.
git clone https://github.com/laramies/theHarvester
cd theHarvester
pip install -r requirements.txt
# Email adresleri topla
python3 theHarvester.py -d hedefsite.com -l 500 -b google
# Tüm kaynaklardan topla
python3 theHarvester.py -d hedefsite.com -b all
# Sonuçları dosyaya kaydet
python3 theHarvester.py -d hedefsite.com -b all -f result.html
# Subdomain'leri bul
python3 theHarvester.py -d hedefsite.com -l 200 -b bing
# Veri tabanından ara
python3 theHarvester.py -d hedefsite.com -s -b censys
Çıktı Örneği:
Email Adresleri Bulundu:
├─ admin@hedefsite.com
├─ info@hedefsite.com
├─ support@hedefsite.com
└─ security@hedefsite.com
Subdomain'ler:
├─ admin.hedefsite.com
├─ api.hedefsite.com
├─ mail.hedefsite.com
└─ cdn.hedefsite.com
SpiderFoot, tüm OSINT araçlarını otomatize eden web arayüzü.
git clone https://github.com/smicallef/spiderfoot
cd spiderfoot
pip install -r requirements.txt
python3 sf.py
# Tarayıcıda: http://127.0.0.1:5001
1. Target belirleme (Domain/IP/Email)
2. Modülleri seç (DNS, Email, Whois vb.)
3. Taramayı başlat
4. Sonuçları analiz et (İlişkiler, emails, subdomains)
5. Rapor dışa aktarımı
Recon-ng, penetration testing için modüler OSINT framework'ü.
git clone https://github.com/lanmaster53/recon-ng
cd recon-ng
pip install -r requirements.txt
./recon-ng
> workspace create hedefsite
> modules search github
> modules load recon/domains-companies/github_api
> options set COMPANY "Hedef Şirketi"
> run
# Sonuçlar veritabanına kaydedilir
> show companies
> show domains
> show credentials
pip install requests beautifulsoup4 lxml google-search-results shodan censys
#!/usr/bin/env python3
# dorking_automation.py
import requests
from bs4 import BeautifulSoup
import json
import time
import sys
from urllib.parse import urlencode
class DorkingToolkit:
    def __init__(self, target_domain):
        self.target = target_domain
        self.results = {
            'google': [],
            'bing': [],
            'duckduckgo': [],
            'vulnerabilities': []
        }
        self.headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
        }
    
    def google_dork(self, query):
        """Google Dorking"""
        full_query = f"site:{self.target} {query}"
        url = f"https://www.google.com/search?q={urlencode({'q': full_query})}"
        
        try:
            print(f"🔍 Google: {full_query}")
            # Not: Google yalnız bot'ları engellediğinden, başarısız olabilir
            # Gerçek uygulamada Selenium veya API kullanılmalı
            response = requests.get(url, headers=self.headers, timeout=5)
            return url
        except Exception as e:
            print(f"❌ Google Hatası: {e}")
            return None
    
    def bing_dork(self, query):
        """Bing Dorking"""
        full_query = f"site:{self.target} {query}"
        url = f"https://www.bing.com/search?q={urlencode({'q': full_query})}"
        
        try:
            print(f"🔍 Bing: {full_query}")
            response = requests.get(url, headers=self.headers, timeout=5)
            
            if response.status_code == 200:
                soup = BeautifulSoup(response.content, 'html.parser')
                results = []
                for item in soup.find_all('div', class_='b_algo'):
                    link = item.find('a')
                    if link:
                        results.append(link.get('href'))
                self.results['bing'].append({
                    'query': query,
                    'results': results,
                    'count': len(results)
                })
            
            return url
        except Exception as e:
            print(f"❌ Bing Hatası: {e}")
            return None
    
    def duckduckgo_dork(self, query):
        """DuckDuckGo Dorking"""
        full_query = f"site:{self.target} {query}"
        url = f"https://duckduckgo.com/?q={urlencode({'q': full_query})}"
        
        try:
            print(f"🔍 DuckDuckGo: {full_query}")
            response = requests.get(url, headers=self.headers, timeout=5)
            
            if response.status_code == 200:
                soup = BeautifulSoup(response.content, 'html.parser')
                results = []
                for item in soup.find_all('a', class_='result__a'):
                    results.append(item.get('href'))
                self.results['duckduckgo'].append({
                    'query': query,
                    'results': results,
                    'count': len(results)
                })
            
            return url
        except Exception as e:
            print(f"❌ DuckDuckGo Hatası: {e}")
            return None
    
    def analyze_results(self):
        """Sonuçları analiz et"""
        print("\n" + "=" * 60)
        print("📊 DORKING ANALIZ RAPORU")
        print("=" * 60 + "\n")
        
        print(f"🎯 Target: {self.target}\n")
        
        # Bing sonuçları
        print("🔵 Bing Sonuçları:")
        total_bing = sum(r['count'] for r in self.results['bing'])
        print(f"   Toplam: {total_bing} sonuç")
        for result in self.results['bing']:
            print(f"   ├─ {result['query']}: {result['count']}")
        
        # DuckDuckGo sonuçları
        print("\n🔴 DuckDuckGo Sonuçları:")
        total_duck = sum(r['count'] for r in self.results['duckduckgo'])
        print(f"   Toplam: {total_duck} sonuç")
        for result in self.results['duckduckgo']:
            print(f"   ├─ {result['query']}: {result['count']}")
        
        # Risk Analizi
        print("\n⚠️  RISK ANALİZİ:")
        if total_bing > 0 or total_duck > 0:
            print("   🔴 KRITIK: Hassas dosyalar Google'da bulunmuş!")
            self.results['vulnerabilities'].append("Dizin listeleme açığı")
        if any('admin' in r['query'] for r in self.results['bing']):
            print("   🟡 UYARI: Admin paneli indeksli")
            self.results['vulnerabilities'].append("Admin paneli indeksli")
        
        print("\n")
    
    def generate_report(self, filename='dorking_report.json'):
        """Rapor oluştur"""
        report = {
            'target': self.target,
            'scan_date': time.strftime('%Y-%m-%d %H:%M:%S'),
            'results': self.results,
            'total_findings': sum(r.get('count', 0) for r in self.results['bing']) + 
                            sum(r.get('count', 0) for r in self.results['duckduckgo']),
            'vulnerabilities': self.results['vulnerabilities']
        }
        
        with open(filename, 'w', encoding='utf-8') as f:
            json.dump(report, f, indent=2, ensure_ascii=False)
        
        print(f"✅ Rapor kaydedildi: {filename}")
        return report
    
    def run_full_scan(self):
        """Komple tarama çalıştır"""
        queries = [
            'filetype:sql password',
            'filetype:env DB_PASSWORD',
            'filetype:log error',
            'intitle:"index of"',
            'inurl:admin intitle:login',
            'inurl:backup',
            'filetype:conf',
            'filetype:bak',
            '"confidential" OR "private"',
            'intext:"mysql_connect()"'
        ]
        
        print(f"\n🚀 {self.target} için Komple Dorking Taraması Başlıyor\n")
        print("=" * 60 + "\n")
        
        for i, query in enumerate(queries, 1):
            print(f"[{i}/{len(queries)}] {query}")
            self.bing_dork(query)
            self.duckduckgo_dork(query)
            time.sleep(2)  # Rate limiting
        
        self.analyze_results()
        self.generate_report()
# MAIN
if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("Kullanım: python3 dorking_automation.py <target_domain>")
        print("Örnek: python3 dorking_automation.py example.com")
        sys.exit(1)
    
    target = sys.argv[1]
    toolkit = DorkingToolkit(target)
    toolkit.run_full_scan()
# Temel kullanım
python3 dorking_automation.py hedefsite.com
# Çıktı:
# 🚀 hedefsite.com için Komple Dorking Taraması Başlıyor
# [1/10] filetype:sql password
# 🔍 Bing: site:hedefsite.com filetype:sql password
# ...
# ✅ Rapor kaydedildi: dorking_report.json
#!/usr/bin/env python3
# advanced_google_dorking.py
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
class GoogleDorkingSelenium:
    def __init__(self):
        options = webdriver.ChromeOptions()
        options.add_argument('--start-maximized')
        self.driver = webdriver.Chrome(options=options)
    
    def google_search(self, query):
        """Selenium ile Google araması"""
        url = f"https://www.google.com/search?q={query.replace(' ', '+')}"
        self.driver.get(url)
        
        try:
            # Sonuçları yüklenene kadar bekle
            WebDriverWait(self.driver, 10).until(
                EC.presence_of_all_elements_located((By.CSS_SELECTOR, "div.g"))
            )
            
            results = []
            items = self.driver.find_elements(By.CSS_SELECTOR, "div.g")
            
            for item in items[:10]:  # İlk 10 sonuç
                link = item.find_element(By.CSS_SELECTOR, "a")
                title = link.text
                href = link.get_attribute('href')
                results.append({'title': title, 'url': href})
            
            return results
        
        except Exception as e:
            print(f"❌ Hata: {e}")
            return []
    
    def close(self):
        self.driver.quit()
# Kullanım
if __name__ == "__main__":
    selenium_dorker = GoogleDorkingSelenium()
    results = selenium_dorker.google_search("site:example.com filetype:sql")
    
    for result in results:
        print(f"📄 {result['title']}")
        print(f"🔗 {result['url']}\n")
    
    selenium_dorker.close()
# WEB GÜVENLİĞİ DORKING DENETIM RAPORU
## YÖNETICI ÖZETİ
**Rapor Tarihi:** 2025-10-24
**Site:** hedefsite.com
**Denetçi:** [İsim]
**Riskli Bulgu Sayısı:** 12
### Özet:
Bu rapor, Google/Bing/DuckDuckGo Dorking teknikleri kullanılarak
hedefsite.com'un arama motorları tarafından erişilebilen
hassas bilgiler tespit edilmiştir.
---
## KRITIK BULGULAR (Acil Düzeltme Gerekli)
### 1. SQL Backup Dosyası Erişilebilir
- **Sorgu:** site:hedefsite.com filetype:sql
- **Sonuç:** database_backup_20250320.sql bulundu
- **Risk:** Tüm kullanıcı verisi, şifreler, kredi kartı no sızdı
- **CVSS Skor:** 9.8 (Kritik)
- **Çözüm:**
  1. SQL dosyalarını web root'ün dışına taşı
  2. robots.txt'ye "Disallow: *.sql" ekle
  3. .htaccess ile SQL dosyalarına erişim engelle
  4. Bölge
 ile backup'ları şifrele
### 2. .env Dosyası İndeksli
- **Sorgu:** site:hedefsite.com filetype:env
- **Sonuç:** .env dosyası Google'da bulundu
- **Risk:** Database credentials, API keys ifşa edilmiş
- **CVSS Skor:** 9.8 (Kritik)
- **Çözüm:**
  1. .env dosyasını web root'ün dışına taşı
  2. .gitignore'a ekle (.env should NOT be in git)
  3. Environment variables'ları sistem variables'ından al
### 3. Admin Paneli Google'da İndeksli
- **Sorgu:** inurl:admin site:hedefsite.com intitle:login
- **Sonuç:** /admin/panel.php bulundu
- **Risk:** Brute force saldırılarının hedefi
- **CVSS Skor:** 7.5 (Yüksek)
- **Çözüm:**
  1. Admin panelini noindex meta etiketi ile koru
  2. IP tabanlı erişim kısıtla
  3. robots.txt'ye "Disallow: /admin/" ekle
---
## UYARI (14 gün içinde düzeltilmeli)
### 4. Log Dosyaları Erişilebilir
- **Sorgu:** site:hedefsite.com filetype:log
- **Sonuç:** error.log, access.log bulundu
- **Risk:** Kullanıcı aktiviteleri, hata mesajları görülüyor
- **Çözüm:** .htaccess ile erişim engelle
### 5. Backup Dizini Listeleniyor
- **Sorgu:** intitle:"index of" backup site:hedefsite.com
- **Sonuç:** /backup/ dizini açık
- **Çözüm:** Options -Indexes ekle
---
## ÖNERİLER
### Kısa Vadeli (HEMEN)
1. robots.txt güncelle
2. .htaccess koruma ekle
3. .env dosyasını taşı
4. Meta noindex etiketleri ekle
### Orta Vadeli (1-2 hafta)
1. Web sitenin tüm dosyalarını denetlet
2. Google Search Console'de harita yenile
3. Eski backup'ları sil
4. Log rotasyonu kur
### Uzun Vadeli (1 ay)
1. Penetration testing yaptır
2. WAF (Web Application Firewall) kur
3. CI/CD'de güvenlik kontrolleri ekle
4. Yıllık güvenlik denetimi planlat
---
## DOSYA CHECKLIST
☑ robots.txt güncellendi ☑ .htaccess kuralları eklendi ☑ .env taşındı ☑ Meta etiketleri eklendi ☑ Google Search Console güncellendi ☑ Backup'lar silindi/taşındı ☑ Log dosyaları korundu ☐ Penetration Testing yapıldı ☐ WAF kuruldu
---
## KAYNAKLAR
- OWASP Web Security Testing Guide
- NIST Cybersecurity Framework
- CWE Top 25
- CVSS v3.1 Calculator
---
**Rapor Onay:** _______________  
**Tarih:** _______________
┌─────────────────────────────────────────────────────────────┐
│  YASAL UYARI: Bu teknikleri yanlış kullanmak SUÇTUR         │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ 🇹🇷 TÜRKİYE:                                               │
│    TCK 215 - İzinsiz Bilgisayar Sistemi Erişimi            │
│    TCK 217 - Veri Hırsızlığı                               │
│    TCK 524 - Kişisel Veri Gizliliği İhlali                │
│    Ceza: 2-4 yıl hapis, 5000-20000 TL ceza                 │
│                                                              │
│ 🇺🇸 ABD:                                                    │
│    CFAA (Computer Fraud and Abuse Act)                     │
│    Ceza: 10 yıla kadar hapis, $250,000 para cezası         │
│                                                              │
│ 🇪🇺 AB:                                                     │
│    GDPR - Veri Koruma                                      │
│    Ceza: %20 global revenue veya €20 milyon                │
│    NIS2 Directive - Network Security                       │
│                                                              │
│ 💼 DİĞER:                                                    │
│    DMCA (Digital Millennium Copyright Act)                 │
│    CFAA (Computer Fraud and Abuse Act)                     │
│    Computer Misuse Act 1990 (UK)                           │
│                                                              │
└─────────────────────────────────────────────────────────────┘
✅ YAPILABILIR:
1. Kendi Web Siteniz
   └─ Kendi alanınızda sorgulamaları yapabilirsiniz
2. Yazılı İzin Aldığınız Sistemler
   └─ Müşteri/Yönetici'den e-mail imzalı onay
   └─ SOW (Statement of Work) sözleşmesi
   └─ NDA (Non-Disclosure Agreement)
3. Yasal Penetration Testing
   └─ Lisanslı pentester'lar
   └─ İşletme içi güvenlik ekibi
   └─ Resmi denetim firmaları
4. Eğitim ve Farkındalık
   └─ Üniversiteler
   └─ Siber güvenlik kursları
   └─ CTF (Capture The Flag) etkinlikleri
❌ YAPILAMAZ:
1. İzinsiz 3. Taraf Sistemler
   └─ "Şirketin web sitesi açık, test edeyim" = Yasadışı
2. Kötü Amaçlı İntensiyon
   └─ Veri çalmak
   └─ Şantaj
   └─ İçeriği değiştirmek
3. Otomatik Tarama Botları
   └─ Massive brute force
   └─ DDoS tarzı taramalar
   └─ Site'ı down ettirmek
4. Ticari Sömürü
   └─ "Bulduğum açıkları satayım"
   └─ Tespit ettiğim veriler için para talep etmek
GOLDEN RULES:
1. 📝 İzin Al
   ├─ Yazılı form
   ├─ Email onayı (en azından)
   ├─ Avukat tarafından incelenmiş sözleşme
   └─ Kapsamı net belirtin (IP aralığı, domain, vb.)
2. 🎯 Kapsamı Belirle
   ├─ Hangi sistemler test edilecek?
   ├─ Hangi teknikler kullanılacak?
   ├─ Başlangıç/Bitiş tarihi
   └─ Eskalasyon prosedürü
3. 📋 Denetim İzleri Tut
   ├─ Ne zaman test yaptı?
   ├─ Ne buldu?
   ├─ Kimin tarafından onaylandı?
   └─ Sonuç nedir?
4. 🔐 Bulduğun Bilgileri Koru
   ├─ Şifrelenmiş saklama
   ├─ Erişim kontrolü
   ├─ Raporların güvenli transferi
   └─ Veri imhası (test sonrası)
5. 📢 Açıkları Bildir (Sorumlu Açıklama)
   ├─ Önce sitenin güvenlik ekibine söyle
   ├─ Çözüm zamanı ver (30-90 gün)
   ├─ Sonra kamuya açıkla (isteğe bağlı)
   └─ Bir CVE numarası talep et (kritikse)
6. 🚫 Başkalarının Verilerine Dokunma
   ├─ Bulduğun şifreleri kullanma
   ├─ Başkalarının hesaplarına giriş yapma
   ├─ Veriyi kopyala/indirme
   └─ Sistemde kalıcı değişiklik yapma
| Kaynak | URL | İçerik | 
|---|---|---|
| OWASP Testing Guide | https://owasp.org/www-project-web-security-testing-guide/ | Web güvenlik testi | 
| NIST Cybersecurity | https://nvlpubs.nist.gov/nistpubs/ | Siber güvenlik standartları | 
| CWE Top 25 | https://cwe.mitre.org/top25/ | En yaygın yazılım zafiyetleri | 
| CVSS Calculator | https://www.first.org/cvss/calculator/3.1 | Risk puanlama | 
| GDPR | https://gdpr-info.eu/ | Veri koruma yasası | 
WEB DORKING ÖNEMLİ ÇÜNKÜ:
1️⃣ Saldırganlar Bu Teknikleri Kullanıyor
   └─ Proaktif olmalısınız
2️⃣ Çoğu Şirkette Yapılanmış Bir Strateji Yok
   └─ "Görülmüyorsa, problem değil" mantığı = HATA
3️⃣ Denetçiler Sorunu Geçecek
   └─ "Veri Sızıntısı Riski" raporunda görülüyor
4️⃣ Müşteriler Güveni Kaybediyor
   └─ Açığa çıkan veriler = Marka imajı zedeleniyor
5️⃣ YASAL SORUMLULUK ARTIYOR
   └─ GDPR, CCPA, TCK
   └─ Veri koruma = Yasal gereklilik
ÇÖZÜM:
✅ robots.txt → Google'a ne göstereceğini söyle
✅ .htaccess → Teknik olarak korunma sağla
✅ Meta Tags → Başlıktan talimat ver
✅ Periyodik Denetim → Aylık kontrol yap
✅ OSINT Araçları → Otomatik tarama kur
✅ Etik Hacking → Profesyonellere yaptır
😊 BAŞARILI DURUMDA:
Google/Bing'de bulunmuş hassas bilgi: SIFIR ✅
Sistem yapısı gizli ✅
Admin paneli korunmuş ✅
Log dosyaları erişilemiyor ✅
Denetçi raporu temiz ✅
Yasal Sorumluluk: Bu rehber yalnızca eğitim amaçlıdır. Yasalara aykırı kullanımdan kaynaklanacak her türlü zarar yazarın sorumluluğunda değildir.