Differential Analysis
Kitabın yazarları bir testte kullandıkları yönetmi anlatıyor:Uygulamayı önce sıradan bir kullanıcıyla login olarak, sonra da admin kullanıcı ile login olarak crawl ediyorlar. Sonuçta sayfa sayısı vs artarken, cookie sayısının aynı olduğunu görüyorlar, buradan oturum/yetki ilişkisinin cookielerde tutulabileceği sonucunu çıkarıyorlar. Sonra admin ve normal kullanıcılar için oluşan cookieleri karşılaştırıyorlar:
Kullanıcı Türü | Cookie Değeri |
Standard | jonafid= 833219244.213a72e5767c1c7a6860e199e2f2bfaa.0092.783823921 |
Admin | jonafid= 833208193.dd5d520617fb26aeb18b8570324c0fcc.0092.836100218 |
- Cookie değeri segmentlere ayrılmış.
- İlk, üçüncü ve dördüncü segmentler aynı uzunlukta ve nümerik.
- İkinci segment MD5 hash olabilir (32 byte uzunlukta, rakam ve f'ye kadar harfler...)
- Her kullanıcı için her segment aynı uzunlukta.
- İlk segmentin ilk 3 karakteri her kullanıcı için aynı (833)
Değiştirilen değer | Sonuç |
1 karakter ekle (9) | Uygulama hatası: "Not logged in" |
Son karakteri 1'den 9'a değiştir | Login durumunda gözle görülür değişiklik yok |
Sondan bir önceki karakteri değiştir | Önceki durumla aynı |
Segmentteki 9 katakteri de değiştir | Önceki durumla aynı |
Bu şekilde tüm segmentleri manipüle ediyorlar ve görüyorlar ki yetkilendirmede sadece cookiedeki ilk 5 karakter yetkilendirmede söz sahibi. Sonra standart ve admin kullanıcı cookielerini karşılaştırdıkları bir önceki tabloya dönüyorlar, bakıyorlar ki ilk 5 karakterde sadece 5. Karakter farklı! Sonuç: Cookie'nin 5. Karakteri adminler için 0, sıradan kullanıcılar için 1...
Hiç yorum yok:
Yorum Gönder