Bozuk Kimlik Doğrulamayı Test Etme

Uygulamayla ilgili kimlik doğrulama işlevleri doğru şekilde uygulanmadığında, bilgisayar korsanlarının parolaları veya oturum kimliklerini tehlikeye atmasına veya diğer kullanıcı kimlik bilgilerini kullanarak diğer uygulama kusurlarından yararlanmasına olanak tanır.

Bu kusurun Tehdit Ajanlarını, Saldırı Vektörlerini, Güvenlik Zafiyetini, Teknik Etkisini ve İş Etkilerini basit bir şema yardımıyla anlayalım.

Misal

An e-commerce application supports URL rewriting, putting session IDs in the URL −

http://example.com/sale/saleitems/jsessionid=2P0OC2JSNDLPSKHCJUN2JV/?item=laptop

Sitenin kimliği doğrulanmış bir kullanıcısı, indirimli satışlardan haberdar olmak için URL'yi arkadaşlarına iletir. Kullanıcının oturum kimliklerini de verdiğini bilmeden yukarıdaki bağlantıyı e-posta ile gönderir. Arkadaşları bağlantıyı kullandığında, oturumunu ve kredi kartını kullanıyorlar.

Eller AÇIK

Step 1- Webgoat'a giriş yapın ve 'Oturum Yönetimi Kusurları' Bölümüne gidin. Çerezi yanıltarak yetkilendirmeyi atlayalım. Senaryonun anlık görüntüsü aşağıdadır.

Step 2 - Webgoat / webgoat kimlik bilgilerini kullanarak oturum açtığımızda, başarılı kimlik doğrulamasından sonra, AuthCookie = 65432ubphcfx iken, JSESSION ID'sinin C8F3177CCAFF380441ABF71090748F2E olduğunu Burp Suite'ten buluruz.

Step 3 - Kimlik bilgileri yönünü / yönünü kullanarak oturum açtığımızda, başarılı kimlik doğrulamasının ardından, AuthCookie = 65432udfqtb iken, Burp Suite'ten JSESSION ID'sinin C8F3177CCAFF380441ABF71090748F2E olduğunu bulduk.

Step 4- Şimdi AuthCookie Modellerini analiz etmemiz gerekiyor. İlk yarı '65432' her iki kimlik doğrulama için ortaktır. Bu nedenle, sırasıyla webgoat kullanıcısı için - ubphcfx ve görünüş kullanıcısı için udfqtb gibi authcookie değerlerinin son bölümünü analiz etmekle ilgileniyoruz.

Step 5- AuthCookie değerlerine derinlemesine bakarsak, son kısım kullanıcı adıyla aynı uzunluktadır. Bu nedenle kullanıcı adının bazı şifreleme yöntemleriyle kullanıldığı açıktır. Deneme ve hatalar / kaba kuvvet mekanizmaları üzerine, kullanıcı adını değiştirdikten sonra webgoat; Taogbew ile son buluruz ve sonra AuthCookie olarak kullanılan önceki alfabe karakteri olur. yani ubphcfx.

Step 6- Bu çerez değerini geçersek ve ne olacağını görelim. Kullanıcı web hedefi olarak kimlik doğrulamasının ardından, 4. adımı ve 5. adımı gerçekleştirerek AuthCookie'yi bularak kullanıcı Alice ile alay etmek için AuthCookie değerini değiştirin.

Önleme Mekanizmaları

  • OWASP'nin Uygulama Güvenliği Doğrulama Standardında tanımlanan tüm kimlik doğrulama ve oturum yönetimi gereksinimlerini karşılayacak şekilde güçlü bir kimlik doğrulama ve oturum yönetimi denetimleri geliştirin.

  • Geliştiriciler, oturum kimliklerini çalmak için kullanılabilecek XSS kusurlarından kaçınmalarını sağlamalıdır.