XSS saldırıları, tarayıcıdaki çeşitli kod çeviricilerine ve çalıştırıcılarına kod ilavesine dayanır. Bu saldırılar; HTML, Javascript, VBScript, ActiveX, Flash ve diğer programlama dilleri kullanılarak gerçekleştirilebilir. Hesap çalma, kullanıcı ayarlarında değişiklik yapabilme, cookie hırsızlığı gibi şeyler bu yöntemle mümkün olabilmektedir. Bazı durumlarda Cross Site Scripting açıkları, diğer web güvenlik açıklarının taranması ve servis kullanımını engelleme gibi başka fonksiyonları da gerçekleştirebilir.
Cross Site Scripting, belirli bir web sitesindeki müşterilerin kişisel gizliliklerinin hedef alındığı ve müşterilerin bilgilerinin çalındığı veya çeşitli şekilde manipüle edildiği zaman ortaya çıkan güvenlik ihlaline dayanan bir saldırı yöntemidir. “Saldırgan – web site” veya “saldırgan – kurban” ilişkisi gibi iki aşamalı olan birçok web saldırı yönteminden farklı olarak XSS açıkları; 3 bileşenle gerçekleştirilir: saldırgan, kurban ve web site. XSS saldırılarının amacı, kurban müşterinin cookielerini veya diğer önemli bilgilerini çalmaktır. Böylece aynı kurban adına her türlü işlemi gerçekleştirebilir.
Çevrimiçi mesajlaşma boardları, web logları, ziyaretçi defteri ve forumlar gibi mesajların kalıcı olarak depolandığı yerler de, Cross Site Scripting açığını kolaylaştırmaktadır. Bu durumlarda saldırgan, foruma, görünüşte tamamen zararsız olan bir siteye ait; fakat kullanıcıları hedef alacak şekilde şifrelenmiş bir script içeren herhangi link atabilir. Saldırganlar; zararlı scripti gizleyecek ve bazı durumlarda da //
3 tip XSS tipini görelim: Depolanmış(Gizli), Yansıtılmış(Aktive olmuş) ve DOM-Tabanlı
Depolanmış XSS açığı, bu saldırı türünün en güçlü örneğidir. Depolanmış XSS saldırısı; herhangi bir kullanıcı tarafından bir web uygulamasına ilk olarak bilgi girildikten sonra bu bilginin veritabanı, dosya sistemi veya diğer bölümlerde yani genel olarak server üzerinde depolanmasının ardından, bu bilginin şifrelenmemiş bir şekilde kullanıcılara gösterilmesi sonucu açığa çıkar. Gerçek yaşamdan örnek verirsek, Ekim 2005'te MySpace’te ortaya çıkan Samy solucanı, XSS açığını kullanıyordu.
Bu açıklar, XSS açığının en önemli tipini oluşturur. Çünkü saldırgan, scripti bir kereye mahsus enjekte edebilir. Sosyal mühendisliği yardımıyla da birçok kullanıcı bu olaydan etkilenebilir veya web uygulaması XSS virüsüne bile maruz kalabilir.
Örnek:
Elimizde, diğer kullanıcılara mesaj atmamızı sağlayan bir site olsun ve biz mesaj atmak yerine bir script enjekte edelim:
Cross Site Scripting, belirli bir web sitesindeki müşterilerin kişisel gizliliklerinin hedef alındığı ve müşterilerin bilgilerinin çalındığı veya çeşitli şekilde manipüle edildiği zaman ortaya çıkan güvenlik ihlaline dayanan bir saldırı yöntemidir. “Saldırgan – web site” veya “saldırgan – kurban” ilişkisi gibi iki aşamalı olan birçok web saldırı yönteminden farklı olarak XSS açıkları; 3 bileşenle gerçekleştirilir: saldırgan, kurban ve web site. XSS saldırılarının amacı, kurban müşterinin cookielerini veya diğer önemli bilgilerini çalmaktır. Böylece aynı kurban adına her türlü işlemi gerçekleştirebilir.
Çevrimiçi mesajlaşma boardları, web logları, ziyaretçi defteri ve forumlar gibi mesajların kalıcı olarak depolandığı yerler de, Cross Site Scripting açığını kolaylaştırmaktadır. Bu durumlarda saldırgan, foruma, görünüşte tamamen zararsız olan bir siteye ait; fakat kullanıcıları hedef alacak şekilde şifrelenmiş bir script içeren herhangi link atabilir. Saldırganlar; zararlı scripti gizleyecek ve bazı durumlarda da //
3 tip XSS tipini görelim: Depolanmış(Gizli), Yansıtılmış(Aktive olmuş) ve DOM-Tabanlı
Depolanmış XSS açığı, bu saldırı türünün en güçlü örneğidir. Depolanmış XSS saldırısı; herhangi bir kullanıcı tarafından bir web uygulamasına ilk olarak bilgi girildikten sonra bu bilginin veritabanı, dosya sistemi veya diğer bölümlerde yani genel olarak server üzerinde depolanmasının ardından, bu bilginin şifrelenmemiş bir şekilde kullanıcılara gösterilmesi sonucu açığa çıkar. Gerçek yaşamdan örnek verirsek, Ekim 2005'te MySpace’te ortaya çıkan Samy solucanı, XSS açığını kullanıyordu.
Bu açıklar, XSS açığının en önemli tipini oluşturur. Çünkü saldırgan, scripti bir kereye mahsus enjekte edebilir. Sosyal mühendisliği yardımıyla da birçok kullanıcı bu olaydan etkilenebilir veya web uygulaması XSS virüsüne bile maruz kalabilir.
Örnek:
Elimizde, diğer kullanıcılara mesaj atmamızı sağlayan bir site olsun ve biz mesaj atmak yerine bir script enjekte edelim: