Attacking Tokens
Erişim/oturum token'larına 3 temel saldırı söz konusu:- Tahmin (manuel yada otomatik)
- Yakalama/yeniden kullanma (Capture/Replay)
- Sabitleme (Fixation)
Manual Prediction
Query String
http://www.mail.com/mail.aspx?mailbox=joe&company=acme"joe" yerine "jack" yazarak bir başkasının maillerine erişilebiliyor olmasın? En azından sorgu stringlerinin URI içinde görünmemesi için GET yerine POST ile talebimizi yapmalıyız ki çoğu web uygulama geliştirici de böyle yapıyor zaten.
POST Data
POST talebinde parametreler URI için değil HTTP talebi (request) içinde taşınır. Tabi ki POST data da çok kolay manipule edilebilir (personal proxy kullanımı mesela). > POST / HTTP/1.1
User-Agent: curl/7.9.5 (i686-pc-cygwin) libcurl 7.9.5 (OpenSSL 0.9.6c)
Host: www.victim.com
Pragma: no-cache
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Content-Length: 38
Content-Type: application/x-www-form-urlencoded
authmask=8195&uid=213987755&a=viewacct
Son satıra dikkat: authmask etiketindeki "auth" ibaresi ilginç, "uid" user id olmasın? "viewacct" da sanki hesap bilgilerini görme yetkisi gibi duruyor.
HTTP Headers
HTTP Header'lar hakkında detaylı bilgi için: http://webuygulamalariguvenligi.blogspot.com/2010/05/http-headers.htmlGenel olarak, kolaylıkla manipüle edilebildiği için HTTP header'lara güvenerek hareket etmek çok güvensiz. Bir örnek:
Referer: Talep edilen URI'nin nereden talep edildiğini söyler. siteA'dan siteB'nin linkinin tıklandığını düşünelim, oluşacak requestte:
Referer: http://www.siteA.com/index.html
satırı yer alacaktır.
Kural şu: eğer bir bilgi sunucu tarafından değil de istemci tarafından set ediliyorsa, kolaylıkla menipüle edilebilir.
Cookies
- Web uygulamalarında yetki / oturum yönetiminin en yaygın yöntemi.
- RFC 2109 içinde tanımlanmıştır.
- Cookilere özel inceleme aracı olarak bir Internet Explorer plug-in'i olan CookiSpy örnek verilebilir. Bir sitenin tüm cookie'lerini gösterir, manipüle edilmesine ve replay edilmesine izin verir.
- Cookie geçerlilik süresi, header içindeki expires tarihini değiştirerek mümkün olabilir. Aşağıdaki örnekte expire tarihi 2010 iken 2011 olarak değiştirilmiş, 20 dakika olan expire süresi 1 yıl 20 dakika olmuştur:
12:20:00 GMT; path=/; domain=victim.com
Hiç yorum yok:
Yorum Gönder