Bu yazı, metodolojimi nasıl basitçe uyguladığımı ve YesWeHack hata ödül programında havayolu yolcu bilgilerini sızdıran birden fazla güvenlik açığı bulmayı nasıl başardığımı ana hatlarıyla anlatacak. YesWeHack’teki deneyimim şuydu: son derece iyi Şirketler, konuyu çok zamanında anlamak için sizinle raporlarla etkileşime geçip iletişim kurdukça. YesWeHack’te uğraştığım şirketlerin bana tam bir saygıyla davrandığını düşünüyorum ve dürüst olmak gerekirse, onların platformlarına göz atmanızı öneririm, keşke daha fazla program olsaydı! 😀
Bu bulgular için Bu hataları bulmak için 3 gün boyunca maksimum yaklaşık ~15 saat harcadım. kullandım sıfır recon araçları ve yalnızca ana web uygulamalarını hedef aldı. Bu hataları ne kadar kolay bulduğumu görünce şok oldum ve bugüne kadar hala diğer havayollarını düşünüyorum. YAPAMAZ Bilgisayar korsanlarına hoş geldiniz ve benzer alanlarda savunmasız olup olmadıklarını belirtin. Bir havayolu şirketinde çalışıyorsanız lütfen bize ulaşın, belki size yardımcı olabilirim! @zseano (ya da YesWeHack ile iletişime geçip beni davet edebilir misiniz? :D)
Ayrıca bu fırsatı insanlara şunu hatırlatmak için de kullanmak isterim: Asla uçak biletlerinizi halka açık olarak yayınlayın, hiçbir bilgi yok. Cidden, bunu kendine sakla.
IDOR’un (Güvensiz Doğrudan Nesne Referansı) ne olduğunu bilmeyenler için, e-posta gibi özel bilgileri yansıtan bir URL’niz olduğunu hayal edin: https://api.example.com/user/1. Kimliğiniz ‘1’ ve bunu “2” olarak değiştirmek, bu kullanıcının bilgilerini görüntülemek için doğru erişime sahip olmadığınız yönünde bir hata sunmalıdır. Ancak öyleyse, kullanıcı bilgilerini numaralandırmak için geçerli bir IDOR hatanız var demektir. (Elbette bazı durumlarda amaçlanan işlevselliktir; sızdırılan hassas bilgileri aramalısınız.) IDOR, belirli değerleri diğerine değiştirmek ve diğer kullanıcıların verilerini görüntüleyebilmek/değiştirebilmekle ilgilidir. Bana göre IDOR, XSS kadar yaygındır.
Uç: Bazen tam sayı değerleri zaten kabul edildiğinden “şifrelenmiş” değerler veya kılavuzlar dikkatinizi dağıtmasın! 😉
İkinci ipucu: Orada olmasa bile JSON gönderi isteklerini gördüğünüzde “id”:1’i enjekte edin. Hala ele alınabilir ve ‘kör’ bir IDOR bulacaksınız;)
Merhaba Sean, zseanosflights.com’u hacklemeye davet edildiniz
Güzel. Web sitesi, oynanacak pek çok şey sunuyor ancak daha da önemlisi, web sitesi hassas bilgiler barındırıyor. Bu bir Havayolu şirketi, pasaport bilgisi vb. Risk altında olan hassas bilgiler olduğunda, her zaman güvende olduklarını düşünerek içeri girin. Yolcular hakkında bilgi tutuyorlar ve bunu güvende tutmak isteyecekler, o yüzden kontrol edelim: sadece ne kadar güvenli Her gün binlerce kullanıcının kullandığı üretim tesisleri mi?
Metodolojim web sitesini amaçlandığı gibi kullanmaya odaklanıyor, bu yüzden kaydolduktan sonra yaptığım ilk şey bir uçuş satın almaktı. Gelecek yıl uçacak ve geçerli bir rezervasyon referansıyla donatılmış 20 £ karşılığında bir bilet aldım. tüm sitede IDOR’ları aramanın zamanı gelmişti. Ayrıca bu havayolu şirketini bulmak için Google’da arama yaptım ve başka bir rezervasyon referansı içeren 2018 yılına ait bir promosyon buldum. Bu noktada işe yarayıp yaramayacağını bilmiyordum ama ileride başvurmak üzere sakladım. IDOR için test yaptığınızda daima kendi hesaplarınıza veya şirketin sahip olduğu kimliklere göre test yapın (böylece gerçek kullanıcıları etkilemiyorsunuz!)
Burası işlerin biraz kızıştığı yer çok kolay. Artık uçak rezervasyonunuzu daha önce çevrimiçi olarak görüntülemeyi denediyseniz, rezervasyon referansınızın gerekli olduğunu bileceksiniz. VE soy isim. Bu durumda, check-in sırasında yolcu bilgilerimi almak için bir talepte bulunuldu. sadece parametre olarak rezervasyon referansım. Bunu başka bir kullanıcının rezervasyon referansıyla değiştirmek, onların bilgilerini bana gösterecektir. “Vay“Düşündüm ki.. bu kadar kolay değil mi? Evet gerçekten bu kadar kolay. Hiçbir alete gerek yok, çılgın becerilere gerek yok.
Bu aşamada gittim ve rezervasyon referansı gerektiren mümkün olduğunca çok özellik buldum ve birden fazla alanın tüm yolcu bilgilerini sızdırdığını gördüm. Kapsam bu programın oldukça sınırlı olduğundan hala sadece ana web uygulamalarını hedefliyordum. Avıma devam edebilmek için hâlâ kapsamın genişletilmesini bekliyorum.
Korkarım bu hacklemenin sonu. Kelimenin tam anlamıyla siteyi amaçlandığı gibi kullandım, isteği yakaladım, “bookingRef” parametresini başka bir kimlikle değiştirdim ve hassas yolcu bilgilerini siteye sızdırmayı başardım. birden fazla alan. Sorun, rezervasyon referansını işleyen hemen hemen tüm özellikleri etkiledi. Bildiğiniz gibi uçuşlara ilişkin rezervasyon referansları kolayca tahmin edilebilir, en fazla 6 karakter uzunluğundadır ve genellikle yalnızca 2 rakamdan oluşur. Her kombinasyonu oluşturmak ve yolcu bilgilerini toplu olarak kazımak için bir araç çalıştırmak zor olmayacaktır.
Hacklemek aslında o kadar da zor değil, siteyi amacıma uygun kullanıyorum 🙂
Securi-Tay2020’de “Kullanıcı verilerini tek seferde bir şirkete kaydetme – zseano ile hackleme” başlıklı bir konuşma sunuyorum, bu yüzden oradaysanız gelip merhaba demekten çekinmeyin ve umarım konuşmamdan keyif alırsınız! https://securi-tay.co.uk/