Alex Birsan ismli siber güvenlik araştırmacısı, bilgisayar korsanlarının kullanıcı e-posta adreslerini ve şifrelerini elde etmek için kullanabilecekleri kritik bir güvenlik açığını bildirdiği için PayPal’dan 15.000 doların üzerinde kazanç elde etti.
PayPal’ın ana kimlik doğrulama akışı analiz edilirken tespit edilen sorun, PayPal’ın siteler arası istek sahtekarlığı (CSRF) belirteçleri ve kullanıcı oturum kimliğini bir JavaScript dosyasına yerleştirerek, saldırganlar tarafından siteler arası komut dosyası ekleme (XSSI) saldırıları yoluyla alınabilmesiyle ilgiliydi.
CSRF belirteçleri ve oturum kimliği doğrudan saldırıları başlatmak için kullanılamazken, araştırmacı onları kaba kuvvet saldırılarına karşı bir koruma mekanizması olarak PayPal tarafından kullanılan güvenlik sorununu hedefleyen bir saldırıda kullanmanın bir yolunu keşfetti.
Birkaç giriş denemesinden sonra, kullanıcının devam etmeden önce bir reCAPTCHA sorununu çözmesi gerekir. Kullanıcının sunulduğu sayfa Google CAPTCHA’dan başka bir şey içermez ve sorun başarıyla çözülürse / auth / validatecaptcha için bir HTTP POST isteği başlatılır.
“Captcha doğrulama isteğine verilen yanıt, kullanıcıyı kimlik doğrulama akışına yeniden dahil etmek içindir. Bu amaçla, kullanıcının e-postaları ve düz metin parolaları da dahil olmak üzere, kullanıcının en son giriş isteğinde sağlanan tüm verileri içeren kendi kendini gönderen bir form içerir ”diye açıklıyor Birsan.
Kimlik bilgilerini almak için, bir saldırganın hedeflenen kullanıcıyı PayPal hesaplarına giriş yapmadan önce kötü amaçlı bir web sitesini ziyaret etmeye ikna etmesi gerekir.
Araştırmacı, CSRF belirtecinin ve oturum kimliğinin istek gövdesinde diğer iki belirteçle birlikte bulunduğunu keşfetti ve istekte kullanılan tüm belirteçler biliniyorsa kurbanın PayPal kimlik bilgilerinin alınabileceği sonucuna vardı.
Bu bilinmeyen belirteçlerden birinin değeri doğrulanmazken, diğeri recaptcha’dır , oturuma bağlı olmayan bir reCAPTCHA sorununu çözdükten sonra Google tarafından sağlanan belirteç, yani otomatik bir çözme hizmetinden biri de dahil olmak üzere geçerli herhangi bir belirteç , bunun yerine kullanılabilir.
Birsan, kurbanın oturumundan geçerli jetonları almak için ilk XSSI güvenlik açığından yararlanan bir kod oluşturdu, ardından güvenlik sorunu akışını tetiklemek için kaba kuvvet saldırısı girişiminde bulundu.
“Mağdur aynı tarayıcıyı kullanarak PayPal’da oturum açtığında, önbelleğe alınmış rastgele kimlik bilgileri kullanıcının kendi e-posta ve şifresi ile değiştirilir. Son adım, yeni bir reCAPTCHA belirteci elde etmekti, bundan sonra düz metin kimlik bilgileri / auth / validatecaptcha uç noktasından alınacak ve sayfada görüntülenecekti ”diye açıklıyor araştırmacı.
Kimlik bilgilerini almak için, bir saldırganın hedeflenen kullanıcıyı, kullanıcı PayPal hesaplarına giriş yapmadan önce kötü amaçlı bir web sitesini ziyaret etmeye ikna etmesi gerekir.
Aynı hassas işlemin, kimliği doğrulanmamış bazı ödeme sayfalarında da kullanıldığı ve aynı metin kullanılarak düz metin kredi kartı verilerinin sızdırılmasına neden olduğu bulundu.
Araştırmacı, PayPal’a güvenlik açığını 18 Kasım’da HackerOne aracılığıyla bildirdi. 18 gün sonra doğrulandı ve 11 Aralık’ta bir yama yayınlandı. PayPay, Birsan’a bulduğu için 15,300 dolarlık bir hata ödülü verdi.
Düzeltme ekinin bir parçası olarak, / auth / validatecaptcha uç noktası tarafından ek bir CSRF jetonu istenir ve araştırmacı, bu jetonun siteler arası komut dosyası içerme özelliği kullanılarak sızdırılamayacağını söylüyor.
Birsan, “Bu, güvenlik açığını düzgün bir şekilde giderirken, sistemi tasarlarken en eski ve en önemli bilgi önerilerinden birini izleyerek her şeyin önlenebileceğine inanıyorum: Parolaları asla düz metin olarak saklamayın.”