Googlebot’u kullanarak kimlik doğrulamasını aşmak

SEO(Search Engine Optimization), yani Arama Motoru Optimizasyonu, web sitelerinde bulunan içeriklerin arama motorları tarafından daha iyi indekslenebilmesi için site ve sayfa yapısında yapılan optimizasyonlar bütünüdür. Yapılan bu düzenlemelerle sitenin arama sonuçlarında çıkması ve sonuçlarda daha üst sıralarda yeralması amaçlanır.
En sık kullanılan arama motorunun Google olması ve site sahiplerinin Google Adsense üzerinden daha fazla para kazanmak istemeleri, insanların sitelerini Google için optimize etmesini de beraberinde getirmektedir.

Bütün bu ıvır zıvırdan neden bahsediyorum, Google’ın veya farklı bir arama motorunun sitesini daha iyi indekslemesini isteyen bazı yerler farkında olmadan sitelerinde bazı güvenlik problemleri oluşturmuş olabiliyor.
Hiç arama motorunda aradığınız bir içeriğin, sayfayı ziyaret ettiğinizde farklı göründüğünü tespit ettiniz mi? Ne olmuş olabilir?

  • Site içeriği değişmiştir/kaldırılmıştır (Ulaşmak istediklerinize arama motorunun cache’ini kullanarak ulaşmayı deneyin)
  • Web sitesi, bu bölüme erişebilmeniz için sizden geçerli bir kullanıcı adı ve şifre istemektedir!

Bu durumda:

  1. Varsa arama motorunun önbellek(cache) bölümünü kullanıp sayfaya erişebilirsiniz,
  2. Kayıt işlemleri ile uğraşmamak için BugMeNot‘ı kontrol edersiniz,
  3. Veya, Googlebot olmayı denersiniz!

Karşılaştığım sitelerden iki tanesini inceleyelim.
Normal bir istek yapıdığında WindowsITPro, sitede yeralan makaleleri okuyabilmek için kayıtlı kullanıcı olmamızı istemekte.

Yapılan bu isteği HTTP header bilgilerinde oynama yapıp, kendimizi Googlebot olarak tanıttığımızda ise bize tüm makaleyi gösteriyor.


Aynı şekilde bir forum sitesi olan GovernmentSecurity, sitenin bazı yerlerine girmek için kayıtlı kullanıcı olmayı şart koşuyor.

Yukarıda görülen isteği HTTP header bilgilerinde oynama yapıp, kendimizi Googlebot olarak tanıttığımızda ise bize forum içeriğini gösteriyor.

Ziyaret ettiğimiz sitede, bu veya benzeri bir güvenlik problemini, “User-agent” HTTP başlık bilgisini kolayca değiştirerek kontrol edebiliriz.
Ben yukarıdaki örneklerde, detaylı görünmesi açısından LiveHTTPHeaders firefox eklentisini kullandım. Tabi ki HTTP header bilgilerini değiştirmeyi daha kolay hale getiren eklentiler var. Ben bunun için modifyheaders‘ı öneririm.

Bu örneklerde gözükenler o kadar da önemsenecek derecede veriler değil. Belki ücretli üyelik sistemi olan bir site için risk seviyesi daha yüksek olabilirdi. Ama özetlemek istediğim, web güvenliğinde kullanıcı tarafından gönderilen verilere hiç bir zaman güvenmemek. Web uygulamalarımızı tasarlarken buna göre önlemler almalıyız.

Sizin yapamadığınız bir şey, yapılamıyor anlamına gelmez! Özellikle web üzerinden yapılan saldırıların artması ve diğer saldırılara göre kolaylığı, verilerinizin güvenliğini riske sokabilir.