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 | Horizontal Privilege Escalation
 Konu Kalitesi %12.5
Oy Ver   
 
Gönderilme Tarihi: 16 Nisan 2022 19:29:39 - Kayıtlı IP
  Mesajı İhbar Et!     

s27anonym
0x27 | Akıncı

Yüzbaşı

İstanbul
20 Mart 2022
27 Mesaj

Durum: Urfalıyam


Aktiflik
Seviye
Deneyim




  • WEB | OWASP TOP 10 | Horizontal Privilege Escalation


  • Selamın aleyküm, dostlar OWASP TOP 10 serimizin 6. konusunda sizlere Horizontal Privilege Escalation Türkçe deyimi ile Yatay ayrıcalık yükseltme konusunu anlatmaya çalışacağım.





  • Horizontal Privilege Escalation Nedir?
    Yatay ayrıcalık yükseltme yani Horizontal Privilege Escalation, bir kullanıcının kendisiyle aynı erişim düzeyine sahip başka bir kullanıcının erişim haklarını kazanmasıdır. Bu biraz tuhaf gelebilir. Birinin neden o kişiyle aynı seviyedeki birinin haklarını elde etmek isteyebileceğini merak edebilirsiniz.




  • Hedef firma ZenBooks'dur adlı bir şirket'tir.
    ZenBooks, küçük ve orta ölçekli işletmeleri hedefleyen bulut tabanlı bir muhasebe ve fatura yönetimi firmasıdır.
    Burada ise zenbooks.com adresine penetrasyon testi uygulayacağız.




  • ZenBooks sitesine penetrasyon testi yapabilmemiz için bize bir hesap verir ve bu hesap bilgilerini login sayfasına doldurarak sistemimize giriş yapalım.



  • Başarılı bir şekilde oturumu açtık, ürün hakkında bir fikir edinmemiz ve test senaryolarını daha fazla belirlememiz ve güvenlik testi senaryoları geliştirmemiz için ZenBooks'un kullanıcı arabirimi menülerine ve işlevlerine göz atarak değerlendirmesiyle başlayalım.




  • Ayarlar sayfasında, kullanıcının hesabına kredi kartı bilgilerini eklemesine, düzenlemesine ve silmesine olanak tanıyan Faturalandırma ve Yenileme Ayarları ekranını görüyoruz.




  • ZenBooks'un kart verilerinin kaldırılmasını nasıl idare ettiğini test etmek için delete düğmesini kullanarak kredi kartı ayrıntılarını kaldıralım.




  • ZenBooks'un kredi kartı Silme işlevinin arka uç sunucusuyla nasıl iletişim kurduğunu daha iyi anlamamız için, bir uygulama web proxy'si kullanıp tarayıcımız tarafından oluşturulan HTTP isteğine müdahale edelim.




  • sil düğmesine tıklandığımızda, uygulama kaynağa bir POST isteği oluşturur deleteCard




  • POST İstek gövdesi ayrıca 1001'e ayarlanmış ccid bir parametre gönderir.




  • Uygulamayı test etmeye devam etmeden önce, bir kullanıcının kredi kartını silmek için HTTP POST isteğimizin ZenBooks uygulaması tarafından nasıl ele alındığını daha fazla analiz edelim.



  • deleteCreditCard
    Yöntem deleteCreditCard(), bir kullanıcı kredi kartını silmek istediğinde gönderilen istekleri işlemekten sorumludur.

    getAttribute
    İlk önce oturum açmış kullanıcının hesabını aktif oturumdan alır ve onu account değişkene atar.

    getParameter
    Daha sonra istekten kullanıcının kart kimliği ccid parametresini alır POST ve bunu cardNumber değişkene atar. Durumumuzda, ccid değer 1001 olarak ayarlanmıştır.

    deleteCreditCardFor
    Son olarak, bir kullanıcının kredi kartı ayrıntılarını bir yöntemle aramak ve silmek için hem account ve cardNumber değerleri kullanılır deleteCreditCardFor().




  • POST, isteğini analiz ettikten sonra, değeri olarak değiştirerek parametreyi değiştirelim ccid 1001 1000

    ccid : 1000

    Parametreyi değiştirirken KOD penceresine dikkat edin. ccid




  • gördüğünüz gibi ccid parametresi 1001 olarak girilmiş fakat biz veriyi 1000 olarak değiştiriyoruz.




  • Değiştirilen isteği gönderdikten sonra, kredi kartımız silinmemiş POST olduğu görülüyor. Parametreyi manipüle etmemiz ZenBooks CTO'su Alice'in hesabını silmiş olabilir mi? ccid

    Manipüle edilmiş isteğimizin Alice'in kredi kartı ayrıntılarını silip silmediğini kontrol etmek için Alice' ile iletişime geçelim. POST




  • Şimdi Alice olarak giriş yapalım ve hesabının silinip silinmdeiğini kontrol edelim.




  • Alice'in hesap bilgilerini yazıp oturumu açalım.



  • Vee Başardık! Kartı Silmek isteğimizde ccid parametre değerini basitçe değiştirerek, Alice'in kredi kartı ayrıntılarını başarıyla silmeyi başardık ve ZenBooks hesabının askıya alınmasına neden olduk. POST


  • yararlanılan güvenlik açığı, kötü niyetli bir aktörün bir kullanıcı hesabına erişim elde ettiği veya kullanıcı adına yetkisiz eylemler gerçekleştirdiği bir Yatay Ayrıcalık Yükseltme saldırısı olarak bilinir. Ayrıca, bu tür güvenlik açıkları belirli bir özellikle, örneğin kart silme ile sınırlı değildir ve güvenilir olmayan parametre değerlerinin, yeterli kimlik doğrulama ve yetkilendirme kontrolleri gerçekleştirilmeden uygulamaya geçirildiği herhangi bir işlevde kendini gösterebilir.



  • Horizontal Privilege Escalation güvenlik açığının temel nedenini daha iyi anlamak için deleteCreditCard() kredi kartı verilerini silmek için kullanılan yönteme bir göz atalım.


  • deleteCreditCard
    Yöntemin bir kullanıcının kredi kartını silmek için iki parça bilgi topladığını hatırlayın.
    getAttribute
    Önce aktif oturumdan oturum açmış kullanıcının hesabını alır.

    ccid
    İkincisi, istekten kredi kartı kimliği ccid parametresini alır. POST

    cardNumber
    Ancak, bunun kredi kartının silinmesini talep eden kullanıcıya ait olup olmadığını kontrol etmek için herhangi bir giriş doğrulaması cardNumber yapılmadığını ve böylece ccid rasgele değerler sağlayarak kullanıcı hesaplarından kredi detaylarını silmesine izin verdiğimizi unutmayın.




  • Peki Bu Saldırıları Nasıl Azaltacağız?

    Ayrıcalık Yükseltme güvenlik açıklarını etkin bir şekilde azaltmak için geliştiriciler, kullanıcının istenen kaynağa erişmek için gerekli ayrıcalıklara sahip olduğundan emin olmak için rol tabanlı erişim kontrol kontrollerinin uygulandığından emin olmalıdır.

    Ürün sahipleri, tüm kullanıcılar ve gruplar için uygun erişim denetimi izinlerini tanımlayan bir erişim denetimi ilkesini daha da geliştirmeli ve sürdürmelidir. Bu, güvenlik gereksinimlerinin mimarlara, tasarımcılara, geliştiricilere ve destek ekiplerine açık bir şekilde tanımlanmasını sağlar, böylece uygulama erişim denetimi işlevselliği tutarlı bir şekilde tasarlanır ve uygulanır.

    Ayrıcalık Yükseltme saldırılarını önlemek için yukarıdaki en iyi uygulamaların savunmasız kod örneğimize nasıl uygulanabileceğini görelim.





  • isValidRequest
    Güvenli kod örneği, bir kullanıcının kredi kartını silmeden önce parametre değerinin geçerli isValidRequest() olup olmadığını kontrol eden yöntemle tanımlanan bir güvenlik denetimi ekler.

    isValidRequest
    ccid Bir istek, istek tarafından sağlanan kredi kartı kimliği ( ) POST oturum açmış kullanıcı hesabına bağlı kredi kartı numarasıyla eşleşirse geçerli sayılır.

    ("You're not authorized to perform this action");
    Bu kontrolü ekleyerek, manipüle ettiğimiz bir ccid değer göndermesi durumunda, bir istisna oluşturularak, Değiştirilen parametrede Kartı Sil eyleminin yürütülmemesini sağlar. ccid




___________________________________________
Cyber-Warrior TIM
          
  Lojistik Destek ,    
 
 
Gönderilme Tarihi: 17 Nisan 2022 01:43:27 - Kayıtlı IP
  Mesajı İhbar Et!     

HAYALET

Albay

03 Ocak 2022
254 Mesaj

Durum: Beyaz Ve Sen


Aktiflik
Seviye
Deneyim
Moderatör

Görev Org./Grup :

Sosyal Medya


Lojistik


başarılı


___________________________________________
Oraleti sevmemiz portakala olan düşkünlüğümüzden değil biz ezilenin yanındayız.
       
     
 
 
Gönderilme Tarihi: 17 Nisan 2022 16:09:35 - Kayıtlı IP
  Mesajı İhbar Et!     

Aleph

General

14 Aralık 2021
149 Mesaj




Aktiflik
Seviye
Deneyim
Member Manager

Görev Org./Grup :

Sosyal Medya

Uzmanlık Alanları:
SMM

eline sağlık


___________________________________________
Sabır ver, asil asker hainlere göğüs ger.
       
  Yöneteam , Yeni Üyeler TIM (TIM LiDERi) ,    
 
 
Git:
  Arkadaşına yolla

Sayfa Yüklenme Süresi: 5.1174


 

İçerik Yöneticisi : AKTIF / Veriler Aktarıldı...
IP Adresiniz : 172.71.254.235 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