Tekil Mesaj gösterimi
Alt 19 Şubat 2006, 13:37   #2
Çevrimdışı
telNET
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Passport Hacking




Bu yazı Microsoft Passport`taki bir güvenlik açığını anlatıyor. Yazıda bir kullanıcının Passport hesabını ele geçirme hakkında detaylı bilgi ve örnek kodlar verilecektir.

Orjinali: Chris Shiflett

Fakat tüm bilgiler eğitim amaçlı kullanım içindir. Amaç web üzerindeki güvenliğin detaylı bir analizini yapmak ve bazı yanlış anlamaları ortaya çıkarmak. Şu anki Passport mekanızmasının kullanımında tavsiyelerim ve güvenliğini artırma yolları ile
yazımı bitireceğim.

Altyapı
Microsoft Passport kullanıcıların Internet üzerinde sunulan ve kayıt gerektiren servislere daha kolay erişimi için yaratılan bir mekanizmadır. Amaç kullanıcıların bir Passport için kayıt olmaları ve çeşitli sitelerdeki servisleri, her birinde kayıt olmaya
gerek duymadan (harcanan vakit ve şifrelerin bakımı her zaman sorun olmuşdur) kullanabilmeleridir.
Passport`un ek bir özelliği de Wallet`dır (cüzdan). Bir Wallet`e sahip olduğunuzda kredi kartı bilgilerini ve ek kişisel bilgileri depolayabilirsiniz. Bu katılımcı sitelerde satın alma işlemlerinde kullanılabilir.

Çerezler (Cookies)
Passport basitçe kullanıcının bilgisayarında depolanan cookie koleksiyonudur. Bu cookie`ler kullanıcıyı Passport kulanan bir siteye tanıtır. Passport mekanizmasında sunucudan sunucya haberleşme yoktur, tüm haberleşme kullanıcıya doğrudur.
Bu işlem için ayarlanan çeşitli cookie`ler aşağıdaki gibidir:

isim alanadı güvenli? dizin depolanma BrowserTest passport.com Hayır / hafıza MSPVis passport.com Hayır / disk MSPDom passport.com Hayır / disk MSPAuth passport.com Hayır / disk MSPProf passport.com Hayır / disk MSPSec passport.com Evet /ppsecure disk MSPRequ login.passport.com Hayır / hafıza PWSVis wallet.passport.com Evet / hafıza MSPAuth walletpassport.com Evet / hafıza
Microsoft Internet Explorer 5.5 öncesi sürümler istemci-tarafı scriptlerin o anki web sunucu ile paylaşılmaması gereken cookie`leri görüntüleyebilmesine izin veren bir cookie güvenlik açığı içeriyordu. Passport`un arkasındaki mekanizma tamamen
cookie`lere dayalı olduğu için bu kombinasyonun problemleri ortadadır.

Kriptolama (Encryption)
Bir zincir sadece en güçsüz bağlantısı kadar güçlüdür. Tanıdık geliyormu?
Birşeylerin kriptolanmış olması ile sahte bir güvenlik duygusuna kapılanların çokluğu sizi şaşırtabilir. Yukarıda bahsedilen cookie`lerin bazısı kriptolanmış değerlere sahiptir. Bu yazıda bu değerlerin dekriptolanması ile ilgili birşeye rastlamayacaksınız. Neden? Çünkü bunu yapmak zor ve kesinlikle gereksiz.
Kriptografi çok zevkli bir konu olsada bu yazının amacı Passport gibi bir mekanizmanın nasıl kolaylıkla kırılabileceği. Web sitemize veya web servisimize girmeye çalışan biri genellikle en kolay yolu seçecektir.

Bir kullanıcı Passport kullanan bir siteye girdiğinde sitenin kendisi dekriptolamayı gerçekleştirir. Gerçek kullanıcının sahip olduğu kriptolanmış cookie`lerin aynılarını sunarak o kullanıcının kimliğine bürünmek mümkündür. Birisinin cookie içerisindeki değerleri dekriptolamasındaki tek amaç Passport kullanılan bir site yaratmak olabilir.

HTTP
Detayları (pek çok web geliştirici tarafından dahi) gözardı edilsede yada bilinmesede Web`de gezinen çoğu insan HTTP hakkında bilgi sahibi olmuştur.
Microsoft Passport`u nasıl altettiğimi anlayabilmek için HTTP 1.1 ve onun cookie`leri nasıl kullandığı hakkında temel bir bilgi sahibi olmak gerekli. HTTP`nin bu yazıda bahsedilmeyecek olan pek çok detayı vardır. Tüm tanımlamalar için RFC 2616`ya
danışabilirsiniz.
Basit HTTP senaryosu bir istek ve cevaptan oluşan tek bir transferdir. Kullanıcı web`de gezinirken, Web browser (istemci) kullanıcının ziyaret ettiği sitelere çeşitli istekleri yapar. Web sunucuları da web sayfalarını işleyen browser`a cevaplar döner.
örnek istek:
GET / HTTP/1.1Host: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Mozilla/5.0Accept: text/xml, image/png, image/jpeg, image/gif, */*Accept-Language: en-usAccept-Encoding: gzip, deflate, compress, identifyConnection: keep-alive
Bu örnek istek bir MOzilla browser ile [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adresine yapılmıştır.
Başlıklar (Host, User-Agent, Accept, Accept-Language, Accept-Encoding, Connection) HTTP spesifikasyonunda izin verilen başlıklardan bazılarıdır. Her başlık sunucunun istemci tarafından yapılan isteğe cevap vermesine yardımcı olacak
bilgiler içerir.
örnek cevap:
HTTP/1.1 200 OKDate: Wed, 01 Aug 2001 22:00:00 GMTServer: Protoscope 0.0.1Connection: closeSet-Cookie: k2labs=chris; domain=.k2labs.org; Path=/;Content-Length: 38Content-Type: text/html<html><h1>Protoscope 0.0.1</h1></html>

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet