Hoşgeldin Sivil

.
Forum Yöneticisi: Administrator | Bu Bölümde Yetkili Tüm Yöneticiler? | Bu konuyu okuyanlar?

 Forum Ana Sayfa
   Web Güvenlik Açıkları

   
 Kurallar    Aktif Konular    PM    Kayıt Ol     Giriş Yap  
» WEB| OWASP TOP 10 | Insecure URL Redirect
 Konu Kalitesi %7.5
Oy Ver   
 
Gönderilme Tarihi: 25 Nisan 2022 18:25:35 - Kayıtlı IP
  Mesajı İhbar Et!     

s27anonym
0x27 | Akıncı

Yüzbaşı

İstanbul
20 Mart 2022
27 Mesaj

Durum: Urfalıyam


Aktiflik
Seviye
Deneyim



  • OWASP TOP 10 | Insecure URL Redirect


  • Insecure URL Redirect Nedir?

  • Saldırgan başarılı bir şekilde kimlik avı dolandırıcılığı başlatabilir ve güvenilmeyen URL girişini kötü amaçlı bir siteye değiştirerek kurban kullanıcıların kimlik bilgilerini çalabilir. Bu yeniden yönlendirme saldırısı, orijinal sitenin sunucu adının hedef siteyle aynı olması nedeniyle mümkündür.


  • Burada hedef alıcağımız şirket MailTrail adlı bulut tabanlı bir e-posta dağıtım platformudur.

    Şimdi MailTrail'in resmi web sitesini ziyaret edip oturum açalım https://www.mailtrail.com/login


    • RetailFlair'in bir rakibi olan FabricHQ, Alice'in MailTrail hesabını hacklemek ve RetailFlair'in müşteri e-postalarını toplamak ve çevrimiçi pazarlama kampanyalarını daha fazla analiz etmek için bizi görevlendirdi.


    • Başarılı bir şekilde oturumumuzu açtık, değerlendirmesine MailTrail'in web arayüzü için HTML kaynak kodunu incelemeye başlayalım.

      NOT
      Bir web uygulamasının HTML kaynağını incelemek, saldırganlar tarafından uygulamanın yapısını eşlemek ve geliştirici yorumları, gizli form alanları, URL yolları gibi tarayıcıda aksi halde görünmeyebilecek potansiyel olarak yararlı bilgileri ortaya çıkarmak için kullanılan yaygın bir tekniktir.



    • MailTrail'in kontrol paneli sayfasının HTML kaynak kodunu analiz edelim.



    • Logout
      HTML kaynağında göründüğü gibi, MailTrail'in oturum kapatma eyleminin ( ) URL parametresine işaret eden /logout bir bağlantı olarak bildirildiğini gözlemler.p_done_urlwww.mailtrail.com


    • MailTrail'in /logout eyleminin sorguyu kabul ettiğini görüyoruz p_done_url=www.mailtrail.com, eylemin bir kullanıcıyı kötü amaçlı bir URL'ye veya web sitesine yönlendirmek için kandırılıp kandırılamayacağını test etmek için parametre değerini değiştirmeye çalışır. p_done_url/logout

      test için, p_done_url from değerini
      Google'ın www.mailtrail.com alan adıyla değiştirelim ve tarayıcıya aşağıdaki URL'ye gidelim :www.google.com


    • Ve başardık! Değiştirilmiş Çıkış URL'sini gönderdikten sonra, MailTrail hizmetinden çıkış yaptık ve Google'ın web sitesine yönlendirildik.

      NOT
      Kullanıcı tarafından sağlanan bir URL'yi veya rastgele bir harici etki alanına yeniden yönlendirmeye neden olan etki alanı adını gönderme yeteneği, URL yeniden yönlendirme saldırısı olarak bilinir.


    • MailTrail CTO su Alice'in hesabına karşı URL Yeniden Yönlendirme güvenlik açığından yararlanmamız için önce MailTrail giriş sayfasına benzeyen sahte bir giriş web sitesi oluşturalım.

      Daha sonra, www.mail-trail.com alan adını, gerçek MailTrail alan adı www.mailtrail.com'a benzer bir site olarak kaydedelim.

      Son olarak, kötü niyetli oturum açma sayfamızı www.mail-trail.com üzerinden sunmamız için bir web sunucusu başlatalım ve aşağıdaki iki komutu vererek web sunucusu günlük dosyasını izleyelim: service apache2 start && tail -f /var/log/access.log


    • İlk komut, bizim kötü niyetli oturum açma web sayfasını www.mail-trail.com adresinde barındırmak için bir web sunucusu başlatır.



      İkinci komut, web sunucumuzu günlüklerinin gerçek zamanlı olarak izlenmesini sağlar.




    • Az önceki adımda istismar altyapısını yapılandırdık, şimdi ise Alice'e özel hazırlanmış bir e-posta gönderelim.

      Alice'in gelen kutusuna bize verilen adresten erişerek e-postasının içeriğini analiz edelim:


    • Alice genellikle bilinmeyen alıcılardan gelen istenmeyen e-postaları görmezden gelir ve siler.

      Ancak, konu e-postasının makul ve alakalı olduğu göz önüne alındığında, Alice gönderilen mesajı açar.


    • Yazan bir konu satırı kullanarak, Mail Trail otomasyonu daha da iyi oldu!, yazdığımız e-posta Alice'in MailTrail posta platformundaki yeni bir özelliği kontrol etmeye teşvik ediyor.

      Alice'in, URL'yi daha fazla inceler ve bunun MailTrail portalı https://www.mailtrail.com'a işaret eden geçerli bir bağlantı olduğunu onaylar.

    • e-postamızdaki web bağlantısını, aslında, bir kullanıcıyı bizim kötü niyetli etki alanına www.mail-trail.com yönlendirmek için değiştirilen MailTrail portalının Oturum Kapatma URL'sidir.

      MailTrail'in Oturumu Kapat özelliği bir URL yönlendirme saldırısına karşı savunmasız olduğundan, Alice URL'yi tıkladığında, kötü niyetli web sitesi www.mail-trail.com'a yönlendirilecektir.


    • Beklendiği gibi, URL'miz URL Yeniden Yönlendirme güvenlik açığını tetikleyerek Alice'i www.mailtrail.com yerine bizim açtığımız kötü niyetli etki alanı www.mail-trail.com'a yönlendirilir.

      sahte oturum açma sayfasını barındırmak ve günlük dosyayı izlemek için bir Apache web sunucusu başlatmıştık hatırlayın. sahte giriş sayfamıza Alice olarak giriş yapmaya çalışmadan önce konsolu açalım.


    • Daha sonra Alice olarak oturumumuzu açalım.
      Oturumumuzu açarken konsola dikkat ediniz.


    • Vee BUM Alice Sahte oturum açma sayfasında kimlik bilgilerini gönderdikten sonra, kullanıcı adı ve parolası artık bizim Apache web sunumuzda oturumu açmış bulunmaktadır!

    • Alice'in MailTrail hesabının kimlik bilgilerine uzaktan erişim elde ettikten sonra, aşağıdaki bağlantıyı yükleyerek MailTrail portalına giriş yapalım.


    • Alice'in çalınan kimlik bilgilerini kullanarak MailTrail portalında oturumumuzu açalım:


    • Başardık! URL Yeniden Yönlendirme güvenlik açığından yararlanarak, Alice'in MailTrail hesabını ele geçirmeyi ve RetailFlair'in e-posta kampanyası verilerine erişmeyi başardık.

      Güvenliği ihlal edilmiş hesap, FabricHQ'nun kendi hedeflenen pazarlama kampanyaları için kullanabileceği ve/veya RetailFlair'in pazarlama stratejilerine ilişkin stratejik öngörüler elde edebileceği müşteri iletişim listeleri, lansman programları ve diğer hassas bilgiler dahil olmak üzere RetailFlair'in MailTrail üzerinde yürütmekte olduğu e-posta kampanyalarını içerir.


    • URL Yeniden Yönlendirme güvenlik açığının temel nedenini daha iyi anlamak için MailTrail'in Oturumu Kapat özelliğini uygulayan kaynak koduna bir göz atalım.

      String redirectUrl = request.getParameter("p_done_url");
      Yöntem logout() önce URL parametresini çıkarır ve kullanıcı oturumunu kapattıktan sonra yeniden yönlendirmek için URL'yi belirten p_done_url değişkende saklar. redirectUrl

      response.sendRedirect(redirectUrl);
      Parametre p_done_url istekte mevcutsa, sendRedirect() istemci tarayıcısını sağlanan URL'ye (www.mailtrail.com) yönlendirerek doğrudan yönteme iletilir.

      (redirectUrl)
      Ancak, yönlendirme parametresini yönteme geçirmeden önce üzerinde hiçbir giriş doğrulamasının gerçekleştirilmediğine dikkat edin. Bu, bizim şüphelenmeyen kullanıcıları kötü niyetli bir etki alanına yönlendiren kötü amaçlı bir URL değeri belirlemesine olanak tanır. p_done_url sendRedirect()


    • Bu Saldırıları Nasıl Azaltacağız?
      Kötü niyetli aktörlerin URL yönlendirmelerini yaptığımız gibi kullanma riskini azaltmak için, uygulama geliştiricileri, özellikle URL parametresi istemci tarafında değiştirilebiliyor veya değiştirilebiliyorsa, kullanıcının yönlendirileceği URL'yi her zaman doğrulamalıdır. Bu, tek bir etki alanı tarafından barındırılmayan web sayfaları gibi dinamik içerik kullanan uygulamalar için özellikle önemlidir.

      Ancak, örneğimizde, kullanıcıyı oturum açma web sayfasına güvenli bir şekilde yeniden yönlendirmek için sunucu tarafında bir ana bilgisayar adı araması gerçekleştirerek URL doğrulaması gerçekleştirme ihtiyacını ortadan kaldırabiliriz.

      Bu en iyi uygulamanın savunmasız kod örneğimize nasıl uygulanabileceğini görelim.

    • getLoopbackAddress()
      Değiştirilmiş kod örneğinde, MailTrail'in yerel geri döngü arabiriminin ana bilgisayar adını döndüren getLoopbackAddress() ve getHostName() yöntemlerini çağırarak yönlendirme URL'sini dinamik olarak oluştururuz.

      getContextPath
      Ardından, yöntemi çağırarak / ana bilgisayar adına ( https://www.mailtrail.com ) kök yolunu ekleriz. getContextPath() Son ana bilgisayar adı dizesi daha sonra iletilir sendRedirect() ve kullanıcıyı güvenli bir şekilde MailTrail'in açılış sayfasına yönlendirir.



___________________________________________
Cyber-Warrior TIM
          
  Lojistik Destek ,    
 
 
Gönderilme Tarihi: 25 Nisan 2022 20:03:10 - Kayıtlı IP
  Mesajı İhbar Et!     

EmreZeriX

Komodor

/public_html
14 Aralık 2021
104 Mesaj

Durum: Yorgun


Aktiflik
Seviye
Deneyim
Moderatör

Görev Org./Grup :

Sosyal Medya


Lojistik

Uzmanlık Alanları:
BD Script
AI Researcher

Ellerinize sağlık hocam detayına kadar 10/10 konu olmuş emek kokuyor


___________________________________________

          
     
 
 
Gönderilme Tarihi: 25 Nisan 2022 21:41:57 - Kayıtlı IP
  Mesajı İhbar Et!     

HAYALET

Albay

03 Ocak 2022
260 Mesaj

Durum: Beyaz Ve Sen


Aktiflik
Seviye
Deneyim
Moderatör

Görev Org./Grup :

Sosyal Medya


Lojistik


eline sağlık kardeşim


___________________________________________
Oraleti sevmemiz portakala olan düşkünlüğümüzden değil biz ezilenin yanındayız.
       
     
 
 
Git:
  Arkadaşına yolla

Sayfa Yüklenme Süresi: 0.0781


 

İçerik Yöneticisi : AKTIF / Veriler Aktarıldı...
IP Adresiniz : 18.97.14.80 Güvenlik Nedeniyle Kayıt Altındadır.



Uzun yoldan geldik, uzun yola devam...

   


Reklam vermek için tıklayın

Forum Kuralları | Üye Olmak İçin | CyberAkademi | Operasyonel TİM'ler
CYBERAKADEMI ~ 2021