New Temel Olarak XSS

London

Emekli
Dragon Member
Messages
538
Reaction score
854
Dw - Coin
758
[hide]
XSS(Cross-Site Scripting) Nedir ?
Bilgisayar güvenlik açığı.Yazılımcının kullanıcıdan aldığı girdileri gerekli HTML ve JavaScript filtrelerinden geçirmediği takdirde oluşan bir zafiyettir.
Girdiler gerekli filtrelerden geçmediği taktirde, eğer kullanıcı aynı zamanda bir saldırgan ise; diğer kullanıcılara veya doğrudan sisteme zarar verebilecek zararlı kodları çalıştırabilir.
HTML, CSS ve JavaScript tarayıcı tarafından yorumlanan diller olduğundan dolayı, yazılan zararlı kod doğrudan diğer kullanıcıları da etkileyebiliyor.

XSS temel olarak 3 farklı dalda incelenir:
1- Reflected XSS
2- Stored XSS
3- DOM-Based XSS
4- Self XSS

1- Reflected XSS Nedir ?
Reflected XSS, bir hata mesajı, arama sonucu veya isteğin bir parçası olarak sunucuya gönderilen girdilerin bir kısmını veya tamamını içeren başka bir yanıt gibi, enjekte edilen komut dosyasının web sunucusundan yansıtıldığı saldırılardır. Yansıyan saldırılar, mağdurlara e-posta mesajı veya başka bir web sitesi gibi başka bir yol üzerinden iletilir. Bir kullanıcı, kötü amaçlı bir bağlantıya tıklaması, özel hazırlanmış bir formu göndermesi veya hatta kötü niyetli bir siteye göz atması için kandırıldığında, enjekte edilen kod savunmasız web sitesine gider ve bu da saldırıyı kullanıcının tarayıcısına geri yansıtır. Tarayıcı daha sonra kodu "güvenilen" bir sunucudan geldiği için yürütür. Reflected XSS, bazen Kalıcı Olmayan veya Tip II XSS olarak da adlandırılır.

Şimdi bunu bir örnekle görelim:




Search kısmına Gölge yazdığımız da Browser'a Gölge yazısının yansıdığını görüyoruz.Bunu "Öğeyi Denetle" yaparak olayın arka planını görelim.



Şimdi ise arama kısmına Reflected XSS tespiti için bir XSS Payload giriyoruz.



Payload:
Kod:
<script>alert("Gölge")</script>
Ve sonuç:



Arka planı:


Gördüğünüz üzere sayfa da belirli bir yeri değiştirebildiğimiz için JavaScript kodunu yazdığımız da bize Browser geri dönüş yaptığında script kodu olarak algılayıp çalıştırıyor, alert alıyoruz ve bu şekilde tespitini sağlıyoruz.

2- Stored/Persistent XSS Nedir ?
Adında anlaşılacağı üzere kalıcı XSS türüdür.Bu sefer girilen payloadlar anlık olarak yansımaz bir veritabanına yada başka bir yere kayıt edilir daha sonradan ziyaret edildiğinde çalışan XSS çeşitidir.En tehlikeli XSS türüdür diyebiliriz. Çünkü kullanıcıdan alınan girdi ekrana veri basmak yerine herhangi bir yere kayıt ediliyor, mesela veri tabanına. Eğer Stored XSS tespit edilirse, kurbana diğer XSS türlerinde olduğu gibi zararlı kodun girilmiş olduğu urlyi göndermeye gerek yoktur. Zaten zararlı kod veri tabanına kayıt edildiği için, kurban farkına bile varmadan arka planda çalışmış olur ve çok tehlikelidir.

XSS ile Neler Yapılabilir?
XSS ile javascript kodları çalıştırabilmekteyiz.Burada zararlı kodlar kullanıldığında Cookie çalma,sayfanın içinde başka sayfaya yönlendirme.Sitemize zararlı kodlar gömerek istedikleri başka saldırılar gerçekleştirebilirler.
Web dünyasında önemli ve kritik açıklıklar arasında yer almaktadır.BeEF (The Browser Exploitation Framework Project) ile XSS açıklıklarını sömürebilirsiniz.

XSS Nasıl Önlenir?

Bu saldırıyı engellemek için aşağıdaki birkaç önlem alınabilir:

1-) Arama girdisi, uygun kodlama kontrolünü içerecek şekilde sterilize edilebilir.
2-) Web sunucusu geçersiz istekleri yönlendirecek şekilde ayarlanabilir.
3-) Web sunucusu eşzamanlı girişi tespit edebilir ve oturumları sonlandırabilir.
4-) Web sunucusu iki farklı IP adresinden eşzamanlı girişi tespit edebilir ve oturumları sonlandırabilir.
5-) Web sitesi daha önce kullanılan kredi kartı numarasının sadece birkaç hanesini gösterebilir.
6-) Web sitesi kullanıcıların kayıt bilgilerini değiştirmeden önce tekrar parolalarını girmelerini gerektirebilir.
7-) Web sitesi İçerik Güvenlik Politikasının pek çok farklı yönünü kullanabilir.
:cool: Kullanıcılar, tehlikesiz gözüken ancak kötücül olan linklere tıklamamaları konusunda eğitilebilir.
9-) Çerez HttpOnly bayrağı ile işaretlenerek JavaScriptin çereze erişimi engellenebilir.

[/hide]
 
Top