Web Security Academy | CSRF - Lab 1

19 Ağu 2021
63
44
İzmir
Merhabalar,

Bugünkü konuda Portswigger firmasının kendini geliştirmek isteyenler için oluşturmuş olduğu Web Security Academy içerisinde bulunan CSRF vulnerability with no defenses adlı labın çözümünü anlatacağım.

İlgili lab linki: Lab: CSRF vulnerability with no defenses | Web Security Academy

Öncelikle bize verilen bilgilere bakacak olursak web uygulamasının kullanıcılardaki hesap bilgilerini görüntüledikleri sayfada bulunan email değiştirme fonksiyonunun CSRF ataklarına karşı zafiyetli olduğunu söylüyor ve test etmemiz için bize bir adet hesap sağlanmış. Bize verilen hesap bilgileri doğrutlusunda uygulamada giriş işlemi yaparak başlıyoruz.

Vbhs8S.png


Giriş yaptıktan sonra karşılaştığımız sayfa bu şekilde:

VbhDLs.png


Rastgele bir mail adresi girerek Burp Suite ile giden requesti inceliyorum.

Vbh1GR.png


Giden request incelendiği zaman cookie veya body içerisinde giden bir csrf tokeni bulunmuyor. Bu yüzden aşağıdaki gibi bir CSRF PoC hazırlamak bizim için yeterli olacaktır.

HTML:
<html>
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="https://SIZIN-LAB-ID.web-security-academy.net/my-account/change-email" method="POST">
      <input type="hidden" name="email" value="fahrettin&#64;altay&#46;tht" />
      <input type="submit" value="Submit request" />
    </form>
    <script>
      document.forms[0].submit();
    </script>
  </body>
</html>

Kodun ne iş yaptığını hızlıca anlatacak olursam sizin seneryodaki saldırgan olarak kendi sitenize yüklediğiniz bu form ilgili web uygulamasına POST requesti gönderecek ve body içerisinde email parametresi olarak sizin belirlediğiniz mail adresi yer alacak. Son olarak javascript ise yukarıdaki görselde gördüğümüz Update email butonunu tetikleyecektir. Böylece kurban sitenize tıkladığı anda başarıya ulaşmış olacaksınız.

Kodumuzu ilgili sunucuya upload etmek üzere web uygulamasının en başında bulunan Go to exploit server kısmından sunucuya gidiyoruz.

VbiyNb.png


Karşılaştığımız bu arayüzde bizi bu lab için ilgilendiren tek kısım body bölümü. Paylaşmış olduğum kodu kendi lab linkiniz ile güncelleyerek body kısmına yapıştırabilirsiniz.
Daha sonra kodumuzu sunucuya yüklemek üzere Store seçeneğine tıklıyoruz.

VbiSAQ.png


Son olarak saldırıyı gerçekleştirmek adına Deliver exploit to victim seçeneğine tıkladığımızda labı başarı ile çözdüğümüzü görüyoruz.

Vbi5mc.png



Okuduğunuz için teşekkür ederim, işinize yaradıysa ne mutlu bana. Anlamadığınız veya takıldığınız bir yer olursa sormaktan çekinmeyin, elimden geldiğince yardımcı olmaya çalışırım. :)
 

JohnWick51

Uzman üye
20 Mar 2022
1,867
770
28
Merhabalar,

Bugünkü konuda Portswigger firmasının kendini geliştirmek isteyenler için oluşturmuş olduğu Web Security Academy içerisinde bulunan CSRF vulnerability with no defenses adlı labın çözümünü anlatacağım.

İlgili lab linki: Lab: CSRF vulnerability with no defenses | Web Security Academy

Öncelikle bize verilen bilgilere bakacak olursak web uygulamasının kullanıcılardaki hesap bilgilerini görüntüledikleri sayfada bulunan email değiştirme fonksiyonunun CSRF ataklarına karşı zafiyetli olduğunu söylüyor ve test etmemiz için bize bir adet hesap sağlanmış. Bize verilen hesap bilgileri doğrutlusunda uygulamada giriş işlemi yaparak başlıyoruz.

Vbhs8S.png


Giriş yaptıktan sonra karşılaştığımız sayfa bu şekilde:

VbhDLs.png


Rastgele bir mail adresi girerek Burp Suite ile giden requesti inceliyorum.

Vbh1GR.png


Giden request incelendiği zaman cookie veya body içerisinde giden bir csrf tokeni bulunmuyor. Bu yüzden aşağıdaki gibi bir CSRF PoC hazırlamak bizim için yeterli olacaktır.

HTML:
<html>
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="https://SIZIN-LAB-ID.web-security-academy.net/my-account/change-email" method="POST">
      <input type="hidden" name="email" value="fahrettin&#64;altay&#46;tht" />
      <input type="submit" value="Submit request" />
    </form>
    <script>
      document.forms[0].submit();
    </script>
  </body>
</html>

Kodun ne iş yaptığını hızlıca anlatacak olursam sizin seneryodaki saldırgan olarak kendi sitenize yüklediğiniz bu form ilgili web uygulamasına POST requesti gönderecek ve body içerisinde email parametresi olarak sizin belirlediğiniz mail adresi yer alacak. Son olarak javascript ise yukarıdaki görselde gördüğümüz Update email butonunu tetikleyecektir. Böylece kurban sitenize tıkladığı anda başarıya ulaşmış olacaksınız.

Kodumuzu ilgili sunucuya upload etmek üzere web uygulamasının en başında bulunan Go to exploit server kısmından sunucuya gidiyoruz.

VbiyNb.png


Karşılaştığımız bu arayüzde bizi bu lab için ilgilendiren tek kısım body bölümü. Paylaşmış olduğum kodu kendi lab linkiniz ile güncelleyerek body kısmına yapıştırabilirsiniz.
Daha sonra kodumuzu sunucuya yüklemek üzere Store seçeneğine tıklıyoruz.

VbiSAQ.png


Son olarak saldırıyı gerçekleştirmek adına Deliver exploit to victim seçeneğine tıkladığımızda labı başarı ile çözdüğümüzü görüyoruz.

Vbi5mc.png



Okuduğunuz için teşekkür ederim, işinize yaradıysa ne mutlu bana. Anlamadığınız veya takıldığınız bir yer olursa sormaktan çekinmeyin, elimden geldiğince yardımcı olmaya çalışırım. :)
Ellerine saglik
 

Merve666**

Yeni üye
10 Haz 2022
11
31
Merhabalar,

Bugünkü konuda Portswigger firmasının kendini geliştirmek isteyenler için oluşturmuş olduğu Web Security Academy içerisinde bulunan CSRF vulnerability with no defenses adlı labın çözümünü anlatacağım.

İlgili lab linki: Lab: CSRF vulnerability with no defenses | Web Security Academy

Öncelikle bize verilen bilgilere bakacak olursak web uygulamasının kullanıcılardaki hesap bilgilerini görüntüledikleri sayfada bulunan email değiştirme fonksiyonunun CSRF ataklarına karşı zafiyetli olduğunu söylüyor ve test etmemiz için bize bir adet hesap sağlanmış. Bize verilen hesap bilgileri doğrutlusunda uygulamada giriş işlemi yaparak başlıyoruz.

Vbhs8S.png


Giriş yaptıktan sonra karşılaştığımız sayfa bu şekilde:

VbhDLs.png


Rastgele bir mail adresi girerek Burp Suite ile giden requesti inceliyorum.

Vbh1GR.png


Giden request incelendiği zaman cookie veya body içerisinde giden bir csrf tokeni bulunmuyor. Bu yüzden aşağıdaki gibi bir CSRF PoC hazırlamak bizim için yeterli olacaktır.

HTML:
<html>
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="https://SIZIN-LAB-ID.web-security-academy.net/my-account/change-email" method="POST">
      <input type="hidden" name="email" value="fahrettin&#64;altay&#46;tht" />
      <input type="submit" value="Submit request" />
    </form>
    <script>
      document.forms[0].submit();
    </script>
  </body>
</html>

Kodun ne iş yaptığını hızlıca anlatacak olursam sizin seneryodaki saldırgan olarak kendi sitenize yüklediğiniz bu form ilgili web uygulamasına POST requesti gönderecek ve body içerisinde email parametresi olarak sizin belirlediğiniz mail adresi yer alacak. Son olarak javascript ise yukarıdaki görselde gördüğümüz Update email butonunu tetikleyecektir. Böylece kurban sitenize tıkladığı anda başarıya ulaşmış olacaksınız.

Kodumuzu ilgili sunucuya upload etmek üzere web uygulamasının en başında bulunan Go to exploit server kısmından sunucuya gidiyoruz.

VbiyNb.png


Karşılaştığımız bu arayüzde bizi bu lab için ilgilendiren tek kısım body bölümü. Paylaşmış olduğum kodu kendi lab linkiniz ile güncelleyerek body kısmına yapıştırabilirsiniz.
Daha sonra kodumuzu sunucuya yüklemek üzere Store seçeneğine tıklıyoruz.

VbiSAQ.png


Son olarak saldırıyı gerçekleştirmek adına Deliver exploit to victim seçeneğine tıkladığımızda labı başarı ile çözdüğümüzü görüyoruz.

Vbi5mc.png



Okuduğunuz için teşekkür ederim, işinize yaradıysa ne mutlu bana. Anlamadığınız veya takıldığınız bir yer olursa sormaktan çekinmeyin, elimden geldiğince yardımcı olmaya çalışırım. :)
Eline sağlık 😌
 

Mr246

Üye
8 Ara 2022
103
39
Elinize sağlık. Anlatımınız oldukça başarılı görünüyor ancak fotoğraflar silinmiş. CSRF konusunu öğrenirken bu forumda karşıma çıkan ilk konu oldu. Bu işi öğrenme aşamasındakilerin karşısına çıkacak ilk konunun fotoğraflarının olması çok daha iyi olurdu. İmkanınız varsa konuyu yenilemenizi rica ediyorum.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.