Günümüzde siber güvenlik denildiğinde akla genellikle karmaşık scriptler veya pahalı yazılımlar gelir. Ancak çoğu zaman en güçlü araç, her gün kullandığımız arama motorunun kendisidir. Bu yazıda, "Google Dorking" tekniklerini kullanarak web sitelerindeki zafiyetlerin ve açıkta kalan verilerin nasıl tespit edilebileceğini inceleyeceğiz.

Google Dorking Nedir?

Google Dorking, Google'ın gelişmiş arama operatörlerini kullanarak normal arama sonuçlarında görünmeyen, ancak dizine eklenmiş hassas bilgilere ulaşma sanatıdır. Bir hacker için bu, hedef sistem hakkında bilgi toplama (Reconnaissance) aşamasının en kritik adımlarından biridir.

Temel Operatörler ve Kullanım Alanları

Güvenli bir web yazılımı geliştirmek için önce saldırganın neyi görebildiğini bilmeniz gerekir. İşte en sık kullanılan operatörler ve kullanımlarına dair bazı örnekler:

1. site: (Alan Adı Sınırlandırma)

Bu operatör, Google'ın devasa dizinini sadece tek bir hedefle sınırlar. Özellikle alt alan adlarını (subdomains) keşfetmek için harikadır.

  • Senaryo: Hedef şirketin test aşamasında unuttuğu geliştirme aşamasındaki siteleri bulmak.
  • Örnek: site:*.hedefsite.com (Bu arama, ana site dışındaki tüm alt alan adlarını —https://www.google.com/search?q=dev.site.com, https://www.google.com/search?q=test.site.com gibi— listeler).

2. filetype: (Dosya Uzantısı Hedefleme)

Belki de en tehlikeli operatördür. Sunucuda unutulan veya yanlışlıkla halka açılan hassas dosyaları bulur.

  • Senaryo: Veritabanı yedeklerine veya konfigürasyon dosyalarına erişim.
  • Örnek: site:hedefsite.com filetype:sql (Sunucuda unutulmuş SQL dump dosyalarını, yani tüm veritabanını ortaya çıkarabilir).

3. intitle: (Sayfa Başlığında Arama)

HTML <title> etiketini hedefler. Genellikle belirli bir yazılımın arayüzünü (admin paneli, kamera arayüzü vb.) yakalamak için kullanılır.

  • Senaryo: Şifresiz veya varsayılan şifreli yönetim panellerini bulmak.
  • Örnek: intitle:"Login - Admin Dashboard" (Web sitelerinin giriş kapılarını tespit eder).

4. inurl: (URL Parametre Avcılığı)

URL satırı içerisindeki anahtar kelimeleri arar. Dinamik sayfaları ve zafiyet barındırabilecek parametreleri bulmak için birebirdir.

  • Senaryo: SQL Injection veya XSS gibi saldırılara açık olabilecek PHP parametrelerini bulmak.
  • Örnek: inurl:php?id= (Saldırganlar için "burada bir veritabanı sorgusu dönüyor olabilir" mesajıdır).

5. cache: (Zaman Yolculuğu)

Google'ın hafızasındaki sayfayı getirir. Bir site kapansa bile veya bir dosya silinse bile Google'ın botları onu yakaladıysa hala oradadır.

  • Senaryo: Bir geliştiricinin hatasını fark edip sildiği hassas bir veriyi, silinmeden önceki haliyle görüntülemek.
  • Örnek: cache:hedefsite.com/gizli-belge.html (Eğer sayfa silindiyse, Google'ın kopyasından içeriğe ulaşılabilir).

Tehlikeli Aramalar: Neler Bulunabilir?

1. Hassas Dosyaların Tespiti

Bir web sunucusunda .env veya config.php gibi dosyaların dışarıya açık olması, genellikle veritabanı kimlik bilgileri ve API anahtarları gibi kritik bilgileri içerdiğinden felaketle sonuçlanabilir.

Dork Örneği: site:example.com filetype:env "DB_PASSWORD"

2. Dizin Listeleme

Sunucu yapılandırması hatalı olduğunda, saldırganlar web sitesinin tüm klasör yapısını ve içindeki dosyaları görüntüleyebilir. Bu, kritik dosyaların veya zafiyetlerin tespit edilmesine yol açabilir.

Dork Örneği: intitle:"index of" "parent directory" site:hedefsite.com

3. Log Dosyaları ve Hata Mesajları

Sistem hataları veya kayıt (log) dosyaları bazen veritabanı yollarını, sunucu IP adreslerini veya hatta kullanıcı bilgilerini ifşa edebilir. Bu bilgiler, bir saldırgan için altın değerindedir.

Dork Örneği: ext:log "password" site:hedefsite.com

Yazılım Geliştiriciler İçin Korunma Yolları

Bu yöntemlerin bu kadar etkili olmasının sebebi, yazılım geliştirme sürecindeki küçük ihmallerdir. Güvenli bir web yazılımı geliştirmek için şu önlemleri almalısınız:

  1. Robots.txt Yapılandırması: Hassas dizinlerin arama motorları tarafından taranmasını engelleyin.
  2. Dizin Listelemeyi Kapatın: .htaccess veya sunucu konfigürasyonu üzerinden Options -Indexes komutuyla dizin görüntülemeyi engelleyin. Bu, kullanıcıların veya saldırganların sitenizin dosya yapısını gezinmesini engeller.
  3. Hata Yönetimi: Production (canlı) ortamında detaylı hata mesajlarını (Stack Trace) kullanıcıya göstermeyin. Bunun yerine, genel bir hata sayfası sunun ve detaylı hataları loglama sisteminize kaydedin.
  4. Noindex Tagları: Hassas sayfaların HTML başlığına <meta name="robots" content="noindex"> ekleyin. Bu, arama motorlarına bu sayfaları dizine eklememeleri gerektiğini söyler.

Etik Sorumluluk ve Yasal Uyarı

Google Dorking öğrenmek, size internetin kilitli olmayan kapılarını gösteren dijital bir anahtar verir. Ancak bu anahtara sahip olmak, her kapıyı açabileceğimiz anlamına gelmez. Bir siber güvenlik araştırmacısının asıl amacı zarar vermek değil, açıklarını kapatarak sistemleri daha güvenli hale getirmektir. Başkasına ait sistemlere izinsiz girmek yasal olarak suçtur. Bu teknikleri bir saldırı aracı olarak değil, kendi projelerimizi korumak için bir savunma aracı olarak kullanmalıyız.