Kaan Kozan tarafından yazılmıştır.
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.
Ben sizlerin daha kolay anlaması amacıyla Portswigger’da bulunan bir lab üzerinden gideceğim. Buradan ulaşabilirsiniz.
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
Evet yorumları üsteki şekilde görebiliyoruz, o zaman bizde bir yorum atmayı deneyelim.
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
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
Ben </p> tagını kapatarak, kendi payload’ımı yazdım. Ardından Request’i göndermeyi denedim.
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
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
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
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.
[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
İ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
Evet yorumları üsteki şekilde görebiliyoruz, o zaman bizde bir yorum atmayı deneyelim.
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
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
Ben </p> tagını kapatarak, kendi payload’ımı yazdım. Ardından Request’i göndermeyi denedim.
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
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
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
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: