Exploiting XSS to Perform CSRF

PwnLab.Me

Admin
Katılım
21 Ocak 2024
Mesajlar
202
Tepkime puanı
9
Puanları
18
Kaan Kozan tarafından yazılmıştır.

[TR] Exploiting XSS to Perform CSRF


Selamlar, hoş geldiniz. Bu yazımızda sizlere XSS ile CSRF zafiyetini nasıl exploit edebileceğinizi temel mantığıyla anlatmaya çalışacağız.

Bildiğiniz üzere XSS, saldırganın kurbanın tarayıcısında javascript yürütmesini sağlar. Aynı şekilde CSRF’de farklı olarak bir saldırganın kurbanın istediği eylemleri gerçekleştirmesine olanak sağlar. İşte bizde tam olarak bu yazıda javascript yürüterek, CSRF zafiyetini tetikleyeceğiz.

CSRF often only applies to a subset of actions that a user is able to perform.

Ben sizlerin daha kolay anlaması amacıyla Portswigger’da bulunan bir lab üzerinden gideceğim. Buradan ulaşabilirsiniz.


Portswigger XSS to CSRF

Portswigger XSS to CSRF



İlk olarak ben bize verilen sayfada input girebileceğimiz herhangi bir şeyler aramaya başladım. Bulabildiğim tek şey blog comment kısmıydı. Burada rastgele bir input girelim, source code veya response üzerinden inceleyelim.

Comment Section-Test

Comment Section-Test



Evet yorumları üsteki şekilde görebiliyoruz, o zaman bizde bir yorum atmayı deneyelim.

Comment Section

Comment Section



Request’i Burp ile Forward ediyorum, ardından da blog sayfasının source kodunu okumak ve inputu değerlendirmek adına, inceliyorum.

Source Code

Source Code



Gördüğünüz gibi hem <p> hem de <a> etiketlerinin içerisine yazdırılıyor. O zaman buna göre HTML Context’i kullanarak bir payload geliştirelim.

HTML Context - XSS

HTML Context – XSS



Ben </p> tagını kapatarak, kendi payload’ımı yazdım. Ardından Request’i göndermeyi denedim.

Trigger XSS Vulnerability

Trigger XSS Vulnerability



Gördüğünüz gibi XSS Zafiyetinin olduğunu doğruladık. Artık CSRF tokeni ile olabileceğiniz düşündüğümüz XSS to CSRF olayına bakabiliriz.

CSRF Source Code

CSRF Source Code



Gördüğünüz üzere source code içerisinde böyle bir form section’ı ile karşılaştık. Burada bir CSRF Tokeni atanıyor.

XSS to CSRF

XSS to CSRF

Bizde buna uygun bir script deniyoruz. Tabi ben burayı Portswigger’in solution kısmından aldım, zaten kendimiz oluştursak da oldukça benzer olacaktır. Ardından bu Request’i gönderiyoruz…

Lab Solved Notification

Lab Solved Notification

Gördüğünüz gibi Lab’ı başarıyla tamamladık, yani XSS’den CSRF Zafiyetine bir exploit oluşturabildik.



Umarım anlaşılır bir yazı olmuştur, sorularınız ve iletişim için bize twitter üzerinden ulaşabilirsiniz! Anlatacaklarım bu kadardı. Okuduğunuz için teşekkürler, esenlikler diliyorum.
 
Moderatör tarafında düzenlendi:
Geri
Üst