Bölüm 1 - xss Nedir?
CSS olarak da bilinen xss( Cascading Style Sheets ile karıştırılan Cross Site Scripting) web uygulamalarında sıklıkla karşılaşılan bir açıktır. xss saldırgana kötü niyetli kodlar eklemesine imkan tanımaktadır. xss saldırılarının birçok çeşidi mevcuttur. Şimdi ben burada en çok kullanılan 3 tanesi üzerinde duracağım.
Bahsetmek istediğim ilk saldırı turu URL xssdir. Bu yöntem xssin sayfada kalmayacağı anlamına gelir. Bu durumda xss, sadece kodu alıp submit ettiğimizde çalışacaktır. Bunu kendi lehimize nasıl kullanırız bundan daha çok bahsedeceğiz.
İkinci saldırı girdi alanlarındadır. Datayı nereye eklerseniz ekleyin çoğunlukla xss olur. Örnek olarak bir arama motoru kullanarak bir site bulduk. Arama kutucuğuna hacker diye yazın ve aratın. Sayfa yüklendiğinde eğer derse ki; hacker için 100 sonuç bulundu, veriyi sayfada gösterdiğini göreceksiniz. Şimdi ya kodu çalıştırırsak? Bu saldırıda PHP kodu çalıştırmak mümkün değildir ancak HTML ve JavaScript kodlarını çalıştırmak mümkündür. Bu arada bu yönteme dikkat edin sunucuda kalmayacaktır.
Üçüncü saldırı yöntemi; bu yöntem ile kodu ilave edebilirsiniz ve kod sitede kalıcı olacaktır.
PHP ve HTML çalıştırıp çalıştıramayacağımıza bağlı olan iki çeşit kodumuz var. Eğer PHPyi enjekte edersek aynı HTMLyi de enjekte edebiliriz. Bu tarz saldırılar genellikle bloglarda ve profillerde bulunur. Forumlar ise çoğu yerine veri ekleyebildiğiniz ve verilerin eklenilen yerde kaldığı alanlardır. HTML, PHPden çok farklıdır. HTML bilgisayarınıza download edilir ve tarayıcınızda bunu çözümler ( bu nedenle sayfa kaynakları görüntülenebilir). PHP ile de kod, scriptin barındırıldığı sunucu üzerinde çözümlenir, daha sonra veri tarayıcıya geri gönderilir. PHP enjeksiyon için bu durum çok nadirdir. Not: PHP kod asla HTML sayfaya enjekte edilemez.
Bölüm 2 - xss Açıklarını Bulma
Bu açıkları bulabilmek için Blogları, Forumları, Shoutboxları, yorum kutularını ve arama kutucuklarını deneyerek başlayabilirsiniz. Aslında burada bahsedilenlerden daha fazla örnek vermek mümkündür.
Google Dorkları daha kolay bulmak için kullanılabilir. Örnek olarak google.com girerek inurl:search.php?q= yazabilirsiniz. Simdi bu bulunabilen çok genel bir sayfadır ve birçok sonuç elde edebilirsiniz. Daha fazla saldırı bulabilmek için diğer bolüme geçin.
Aynı zamanda çoğu sitenin xss açığı bulunduğunu unutmayın ve bunu bulabilmek için sadece iyi bir göz ve birazda filtrelemeye nasıl bypass yapılacağı hakkında bilgi sahibi olmak yeterlidir.
Bölüm 3 - xss Üzerine Temel Kavramlar
Simdi en çok kullanılan xss olmak üzere en genelinden öğrenmeye başlayalım.
En yaygın olanı <s c r i p t>alert("xss")</s c r i p t>.
Bu kod xss tırnak işaretleri olmaksızın, kolaylıkla düzenlenebilir seklinde bir popup ikazı verecektir.
Bu nedenle, bahsettiğimiz eyleri hatırladığınızı varsayarak bundan bir önceki konuya geri döndüğümüzde, search.php?q= bunu basitçe bir web sitesi üzerinde deneyebiliriz.
http://site.com/search.php?q=<s c r i p t>alert("xss")</s c r i p t>
Büyük bir olasılıkla çalışacaktır ancak yinede çalışmazsa sorun değil, baksa sitelerde de değişik varyasyonlarını deneyebilirsiniz.( ben çoğu kişinin, sadece JavaScript değil HTML kodlar da ekleyebileceklerinin farkında olduklarını sanmıyorum)
Eğer kalın fontla yazılmış metni ve haber baslığını görürseniz açık bulunduğunu biliyorsunuzdur ve artık daha sonra izah edeceğimiz yöntemleri de kullanabilirisiniz.
CSS olarak da bilinen xss( Cascading Style Sheets ile karıştırılan Cross Site Scripting) web uygulamalarında sıklıkla karşılaşılan bir açıktır. xss saldırgana kötü niyetli kodlar eklemesine imkan tanımaktadır. xss saldırılarının birçok çeşidi mevcuttur. Şimdi ben burada en çok kullanılan 3 tanesi üzerinde duracağım.
Bahsetmek istediğim ilk saldırı turu URL xssdir. Bu yöntem xssin sayfada kalmayacağı anlamına gelir. Bu durumda xss, sadece kodu alıp submit ettiğimizde çalışacaktır. Bunu kendi lehimize nasıl kullanırız bundan daha çok bahsedeceğiz.
İkinci saldırı girdi alanlarındadır. Datayı nereye eklerseniz ekleyin çoğunlukla xss olur. Örnek olarak bir arama motoru kullanarak bir site bulduk. Arama kutucuğuna hacker diye yazın ve aratın. Sayfa yüklendiğinde eğer derse ki; hacker için 100 sonuç bulundu, veriyi sayfada gösterdiğini göreceksiniz. Şimdi ya kodu çalıştırırsak? Bu saldırıda PHP kodu çalıştırmak mümkün değildir ancak HTML ve JavaScript kodlarını çalıştırmak mümkündür. Bu arada bu yönteme dikkat edin sunucuda kalmayacaktır.
Üçüncü saldırı yöntemi; bu yöntem ile kodu ilave edebilirsiniz ve kod sitede kalıcı olacaktır.
PHP ve HTML çalıştırıp çalıştıramayacağımıza bağlı olan iki çeşit kodumuz var. Eğer PHPyi enjekte edersek aynı HTMLyi de enjekte edebiliriz. Bu tarz saldırılar genellikle bloglarda ve profillerde bulunur. Forumlar ise çoğu yerine veri ekleyebildiğiniz ve verilerin eklenilen yerde kaldığı alanlardır. HTML, PHPden çok farklıdır. HTML bilgisayarınıza download edilir ve tarayıcınızda bunu çözümler ( bu nedenle sayfa kaynakları görüntülenebilir). PHP ile de kod, scriptin barındırıldığı sunucu üzerinde çözümlenir, daha sonra veri tarayıcıya geri gönderilir. PHP enjeksiyon için bu durum çok nadirdir. Not: PHP kod asla HTML sayfaya enjekte edilemez.
Bölüm 2 - xss Açıklarını Bulma
Bu açıkları bulabilmek için Blogları, Forumları, Shoutboxları, yorum kutularını ve arama kutucuklarını deneyerek başlayabilirsiniz. Aslında burada bahsedilenlerden daha fazla örnek vermek mümkündür.
Google Dorkları daha kolay bulmak için kullanılabilir. Örnek olarak google.com girerek inurl:search.php?q= yazabilirsiniz. Simdi bu bulunabilen çok genel bir sayfadır ve birçok sonuç elde edebilirsiniz. Daha fazla saldırı bulabilmek için diğer bolüme geçin.
Aynı zamanda çoğu sitenin xss açığı bulunduğunu unutmayın ve bunu bulabilmek için sadece iyi bir göz ve birazda filtrelemeye nasıl bypass yapılacağı hakkında bilgi sahibi olmak yeterlidir.
Bölüm 3 - xss Üzerine Temel Kavramlar
Simdi en çok kullanılan xss olmak üzere en genelinden öğrenmeye başlayalım.
En yaygın olanı <s c r i p t>alert("xss")</s c r i p t>.
Bu kod xss tırnak işaretleri olmaksızın, kolaylıkla düzenlenebilir seklinde bir popup ikazı verecektir.
Bu nedenle, bahsettiğimiz eyleri hatırladığınızı varsayarak bundan bir önceki konuya geri döndüğümüzde, search.php?q= bunu basitçe bir web sitesi üzerinde deneyebiliriz.
http://site.com/search.php?q=<s c r i p t>alert("xss")</s c r i p t>
Büyük bir olasılıkla çalışacaktır ancak yinede çalışmazsa sorun değil, baksa sitelerde de değişik varyasyonlarını deneyebilirsiniz.( ben çoğu kişinin, sadece JavaScript değil HTML kodlar da ekleyebileceklerinin farkında olduklarını sanmıyorum)
Eğer kalın fontla yazılmış metni ve haber baslığını görürseniz açık bulunduğunu biliyorsunuzdur ve artık daha sonra izah edeceğimiz yöntemleri de kullanabilirisiniz.


