Cross Site Scripting hakkında bilgi
{{Bilgisayar-taslak}}
...
{{Bilgisayar-taslak}}
Cross site scripting (XSS), bir bilgisayar güvenlik açığıdır. Saldırgan,
HTML kodlarının arasına
istemci tabalı kod gömmesiyle, kullanıcının tarayıcısında istediği istemci tabanlı kodu çalıştırabilir.
Teknik Terimler
Cross site scripting'e XSS yerine CSS denmemesinin nedeni Cascading Style Sheets ile karıştırılmasındandır. İlk XSS kısaltması Steve Champeon tarafından 2002 yılında "http://webmonkey.wired.com/webmonkey/00/18/index3a.html XSS, Trust, and Barney" dokümanında kullanılmıştır.
Arkaplan
Netscape JavaScript dilini tarayıcılarında çalıştırılacağını duyurduğunda, web sunucusu tarafından gönderilen, istemcide çalıştrılabilen kodların güvenlik riskleri yaratabileceğini gerçekleştirmiş oldu. Örneğin bir sayfadan çalıştırılan script, diğer bir sayfaya ulaşabilecekti. Bu yolla kötü niyetli bir web sitesinin, diğer sitelerin bilgilerini çalması üzerine engellediler. Bu nedenle bazı politikalar ortaya çıktı. Aslında bu politika, bunu engellemiyordu, sadece aynı domain üzerinden kullanılmasına izin veriyordu. Bu yol, kötü niyetli internet sitesinin, diğer sitelerden bilgi çalamamasını sağladı.
O zamandan buyana, kötü niyetli sitelerden korunmak için küçük erişim kontrolü tedbirleri geliştirildi. Genelde cross site scripting açıkları, saldırganın sistemi deneme-yanılma yaparak bulması ile ortaya çıkar. Açığın bulunması ile saldırgan, başka bir domainden, açığın bulunduğu domain ve sayfanın bilgilerini, session bilgilerini ve diğer obje değerlerini çalmasına olağan sağlar.
Açık ve Kullanımı
XSS açığını bulunan form, DOM-tabanlı veya local sayfasına yönlendirilip, hiçbir şey yapılmadan yazdırılıyorsa XSS açığı var demektir. Bu açık serverin REQUEST metoduyla kapatılabilir.
Örneğin:
<pre>http://www.vulnerable.site/welcome.html?name=Joe</pre>
Açık bulunanan site name değişkenini okuyup hiçbir filtreleme yapmadan sayfaya yazdırıyorsa, o zaman bu değerde istenilen kod çalıştırılabilir.
<pre>http://www.vulnerable.site/welcome.html?name=<script>alert(document.cookie)</script></pre>
Bu şekilde kurbanda istemci tabanlı JavaScript kodları çalıştırılabilinir.
Bu açık bulunan kişiye saldırı şu şekilde gerçekleşebilir:
# Kurbana gönderilen linki tıklamasını sağlayacak mail veya diğer araçlardan mesaj atılır.
# Kurban linke tıklar.
# Çalıştırılan istemci tabanlı JavaScript kodları sayesinde, kötü niyetli site açılır ve geldiği sayfadaki bilgiler, server tarafından çalınır.
# Script kurbanı aldatarak geri döner.
# Saldırgan kurbanın session bilgilerini çalmıştır.
Linkler
http://www.cgisecurity.com/articles/xss-faq.shtml CGI Security XSS Hakkında Sıkça Sorulan Sorular
http://www.cert.org/advisories/CA-2000-02.html CERT® Advisory CA-2000-02: Malicious HTML Tags Embedded in Client Web Requests
http://httpd.apache.org/info/css-security/ Apache Yazılım Vakfı Cross Site Scripting Bilgileri
http://webmonkey.wired.com/webmonkey/00/18/index3a.html Webmonkey - XSS, Trust, and Barney
cs:Cross-site scripting
de:Cross-Site Scripting
en:Cross-site scripting
es:XSS
et:XSS
fr:Cross site scripting
ja:クãƒã‚¹ã‚µã‚¤ãƒˆã‚¹ã‚¯ãƒªãƒ—ティング
nl:Cross-site scripting
no:Cross Site Scripting
pl:Cross Site Scripting
ru:XSS
sv:Cross site scripting
zh:跨網站指令碼
İlgili bilgi başlıkları
İlgili bilgiler: 2002 Bilgisayar CSS HTML JavaScript Netscape Taslak İstemci
Ansiklopedi tarayıcı