top of page

Lab: 2FA simple bypass

Yazarın fotoğrafı: Songül ÖZÜGÜRLER
Songül ÖZÜGÜRLER
28 Nis
2 dakikada okunur

Lab: 2FA simple bypass

Bu labda, uygulamada iki faktörlü kimlik doğrulama (2FA) bulunmasına rağmen, bu mekanizmanın gerçek anlamda zorunlu tutulmadığı bir mantık hatası yer alıyor. Kullanıcı adı ve şifre doğru girildiğinde, 2FA doğrulaması tamamlanmadan da hesaba erişim sağlanabiliyor.

Labın amacı, 2FA doğrulama koduna sahip olmadan carlos kullanıcısının hesabına erişmek ve My account sayfasını görüntülemek.

Teste başlarken elimde şu bilgiler vardı:

- Kendi hesabım: wiener : peter

- Hedef hesap: carlos : montoya

- Eksik olan: Carlos’un 2FA doğrulama kodu (mailine erişimim yok)

İlk olarak wiener:peter bilgileriyle kendi hesabıma giriş yaptım. Giriş yaptıktan sonra Burp Suite’i açık tutarak uygulamada yapılan tüm istekleri incelemeye başladım. Amacım, 2FA akışının gerçekten nasıl çalıştığını anlamaktı.

Lab: 2FA simple bypass

Asıl problem, carlos kullanıcısının mailine erişimim olmaması ydı. Bu yüzden normal şartlarda carlos ile giriş yaptığımda, 2FA doğrulama kodunu giremediğim için hesabına erişemiyordum.

Bu noktada şunu fark ettim: Uygulamada kullanıcı adı ve şifre doğru girildiği anda, sistem aslında kullanıcıyı yarı yetkili (authenticated) bir duruma alıyordu. Yani 2FA doğrulaması istense bile, backend tarafında oturum (session) çoktan oluşturulmuş olabilirdi.

Lab: 2FA simple bypass

Bunu test etmek için kendi hesabımdayken tarayıcı üzerinden şu adrese gitmeyi denedim:

/my-account?id=carlos

Normalde bu sayfanın yalnızca ilgili kullanıcı tarafından erişilebilir olması gerekirken, bu isteği gönderdiğimde carlos kullanıcısının hesap sayfasına erişebildiğimi gördüm .

Lab: 2FA simple bypass

Buradaki kritik nokta şuydu: Uygulama, 2FA doğrulamasını gerçekten zorunlu kılmıyor; kullanıcı adı ve şifre doğru olduğu anda hesabı erişilebilir hale getiriyordu. 2FA ekranı sadece ek bir adım gibi duruyordu ama erişimi engellemiyordu.

Bu mantık hatası sayesinde, 2FA doğrulaması yapılmadan da carlos’un My account sayfasına erişmiş oldum . Bu adımla birlikte lab başarıyla tamamlandı.

Bu zafiyetin temel nedeni:

- Kullanıcı adı ve şifre doğru girildiğinde session’ın hemen oluşturulması

- 2FA doğrulamasının erişim için zorunlu bir kontrol olarak uygulanmaması

- Kritik sayfalarda (örneğin /my-account ) 2FA durumunun kontrol edilmemesi

Yani 2FA, uygulamada var gibi görünse de, güvenlik açısından etkisiz bırakılmış durumda.

Bu lab, “2FA var” demenin tek başına bir güvenlik önlemi olmadığını çok net gösteriyor. Asıl önemli olan, 2FA doğrulaması tamamlanmadan hiçbir yetkili endpoint’e erişim verilmemesi .

Bu labı çözerken en kritik fark ettiğim şey, 2FA ekranına gelinmiş olmasına rağmen hesabın arka planda zaten erişilebilir durumda olmasıydı. URL üzerinden yapılan basit bir manipülasyon, doğrudan hesap erişimine yol açtı.

Bir sonraki labda görüşmek üzere🌸

 
 
bottom of page