XSS nedir?

XSS, CSS olarak bilinen Cross Site Scripting yani çapraz site betiklemesi (Çapraz kod çalıştırmak.) anlamına gelir. Web uygulamalarının neden olduğu açıklardan biri olan "XSS" yazılmaya başlanmasından sonra ortaya çıkan çok eski bir açıktır. Açık eski olmasına rağmen günümüzde birçok web sitesinde mevcuttur.

XSS açığı saldırganlar tarafından kullanıcılara (Javascript gibi benzeri) çeşitli kodlar ile yollanır. Çünkü bir tarayıcı bunun bir script olup olmadığını bilemez. Saldırgan scripti bütünüyle çalıştırarak herhangi bir cookieyi alır ve oturum açabilir.

XSS saldırısı, Asp, PHP, ASP.NET gibi birçok web programlama dilinde meydana gelen, bir betik kod (HTML, JavaScript v.s) saldırısıdır. Saldırganın hedefi, web uygulamasına çeşitli kod betikleri yazarak XSS saldırısının çalışmasını sağlamaktır.

XSS işleyişi nasıldır?

Bir web sayfasında XSS zaafiyeti bulup, o web sayfasına üye olan kişilerin oturum bilgilerini yani cookielerini çalıp, cookie değişikliğine sebep olup hesabı ele geçirmektir. XSS saldırıları temelde iki yöntem ile çalışır. 1’inci yöntem sayfada bulunan ve kullanıcıdan veri girişi isteyen alanlarda yapılır.

Örneğin arama kutusu, yorum alanı gibi. 2’inci yöntem ise URL alanına XSS kodları girerek gerçekleştirilir. Temel mantıkta kullanılan JavaScript kodları kullanılmaktadır. Ancak bunun dışında çeşitli embed kodlarda kullanılabilir. <script>alert("XSS KODU");</script> JavaScript kodu ile XSS saldırısı gerçekleştirilir.

XSS saldırı mantığı nasıldır?

1. Hedef web sitesinde bulunan XSS zafiyeti kullanılarak, siteyi ziyaret eden kullanıcıların oturum bilgileri çalınabilir. (Cookie Hijacking Saldırısı)
2. Ziyaretçi kandırılarak bilgisayarına virüs, trojan v.b zararlı kodlar yüklenebilir. Böylece ziyaretçilerin kimlik bilgileri, şifreleri çalınabilir. Ziyaretçinin bilgisayarı bir zombie bilgisayar haline getirilebilir.
3. Siteye index atılabilir. Site defaced edilebilir. (DOM Based XSS ile)
4. Sunucuya dosyalar (Shell, Backdoor gibi) yüklenebilir, kredi kartı, v.s gibi bilgiler elde edilebilir (DOM Based XSS ile)

XSS/Cross Site Scripting'in tehlikeleri nelerdir?

Saldırganlar çoğunlukla, JavaScript, VBScript, ActiveX, HTML ve Flash ile veri inject ederek kullanıcıdaki verileri çalmak için bu XSS üzerinde çeşitli saldırı senaryosu planları kurar ve uygular.

Alınan çerezler hijacking yöntemleri ile kullanıcının bütün hesaplarını ele geçirmeye kadar ilerler. Çünkü tamamen kullanıcının yetkisi elde ediliyor ve ele geçirilen hesaplar kötü niyetli kullanılabiliyor. XSS hem kullanıcılara hem site sahiplerine hem de sitenin geliştiricilerine zarar verebilir.

Çok önemli verilerimizin döndüğü web ortamında dikkatsizlik sonucu bu bilgilerimizi başkalarına kaptırabiliriz bir kullanıcı olarak. Bu tarz bir açığın olduğu bir sitenin sahibi doğal olarak maddi açıdan sıkıntıya düşecektir. Sitenin geliştiricisi de herşeyin kökeni ona dayandığından itibar kaybına uğrayacaktır.

XSS saldırından nasıl korunulur?

Öncelikle dinamik olarak sayfa üreten kodlar gözden geçirilmeli ve bir onay mekanizması geliştirilmelidir. PHP dilini ele alacak olursak en basitinden "strip_tags" fonksiyonu kullanılabilir. Böylece dışarıdan site aracılığıyla kullanıcılara yönlendirilmek istenen HTML etiketlerinin önünü kesilmiş olur.

Kodlama yapmak yerine bir framework kullanırsanız tek bir güncelleme ile onlarca bilmediğiniz açığı bile bir seferde kapatmış olursunuz. Kullanıcılar bu saldırıları engellemek için ağ tarayıcılarının ayarlarından bu betiklerin çalıştırılmasını engelleyebilirler. Ama bu kullandığınız sitelerin çok güzel bazı özelliklerinden mahrum kalmanıza neden olacaktır.

Bir kullanıcı olarak da kullanabileceğimiz en güzel yöntem bilmediğimiz hiç bir linke tıklamamak, güvenilir olmayan sitelere girmemek ya da üye olmamak ve girmek istediğimiz sitenin adresini direk olarak elimizle yazmak, yani onun linklerini kullanmamak olucaktır.

Yorumlar

Bu sayfa ait yorum bulunamadı. İlk yorum yapan siz olun.

Yorum ekle

Vazgeç