badge icon

This article is not approved yet.

Article

Cross Site Scripting(XSS)

Quote
What is XSS.png

Bu görsel tarafımca Canva tasarım aracı kullanılarak özgün olarak oluşturulmuştur.

What is XSS ?

Cross-Site Scripting (XSS)

Cross-Site Scripting (XSS), genellikle web uygulamalarında karşılaşılan ve saldırganların diğer kullanıcıların tarayıcılarında kötü niyetli istemci taraflı (client-side) betikler (script) çalıştırmasına olanak tanıyan bir güvenlik zafiyetidir. Temel olarak, bir web uygulamasının kullanıcıdan aldığı girdileri (input) yeterli düzeyde doğrulamadan veya filtrelemeden (encoding) web sayfasına dahil etmesi sonucu ortaya çıkar.

Tarihsel Gelişim ve Bağlam

XSS zafiyetleri, web teknolojilerinin yalnızca statik HTML dokümanlarından oluştuğu dönemden, dinamik içeriklerin ve JavaScript kullanımının yaygınlaştığı Web 2.0 dönemine geçiş yaptığı 1990'ların sonlarında tespit edilmeye başlanmıştır. Terim, ilk ortaya çıktığı dönemde saldırıların genellikle bir sitenin güvenlik bağlamını aşarak (cross-site) başka bir siteye bilgi göndermesi mantığına dayandığı için bu ismi almıştır. Günümüzde aynı kök (same-origin) politikası içindeki vektörleri de kapsayan, istemci tarafı kod enjeksiyonlarını tanımlayan genel bir şemsiye terim haline gelmiştir.

Çalışma Mekanizması

Web tarayıcıları, bir web sitesinden gelen betiklerin meşru olup olmadığını ayırt edemez ve gelen her betiği sayfanın bir parçası olarak kabul edip çalıştırır. XSS zafiyeti bulunan bir sayfada saldırgan, sayfanın kaynak koduna kendi belirlediği (genellikle JavaScript tabanlı) zararlı kod bloklarını enjekte eder. Sayfayı ziyaret eden kurbanın tarayıcısı bu kodları yürüttüğünde, saldırı gerçekleşmiş olur.

XSS Türleri

XSS zafiyetleri, hedefe ulaşma yöntemlerine ve zararlı kodun işlenme biçimine göre üç temel kategoriye ayrılır:

1. Kalıcı (Stored / Persistent) XSS

Zararlı kodun, hedef web uygulamasının veri tabanına, dosya sistemine veya mesaj panoları gibi sunucu tabanlı depolama alanlarına kalıcı olarak kaydedildiği türdür. En tehlikeli XSS varyantı olarak kabul edilir. Zararlı kodun bulunduğu sayfayı ziyaret eden her kullanıcı, herhangi bir ek tetiklemeye gerek kalmaksızın hedefe dönüşür.

2. Yansıyan (Reflected / Non-Persistent) XSS

Zararlı kodun sunucuda depolanmadığı, bir HTTP isteği (örneğin URL parametreleri veya form verileri) aracılığıyla sunucuya iletildiği ve uygulamanın bu veriyi anında kullanıcıya geri yansıttığı (reflected) türdür. Saldırının başarılı olması için kurbanın, saldırgan tarafından özel olarak manipüle edilmiş bir bağlantıya (URL) tıklaması veya benzeri bir etkileşime girmesi gerekir.

3. DOM Tabanlı (DOM-based) XSS

Zafiyetin, sunucu tarafında işlenen bir yanıtla değil, tamamen istemci tarafında, Document Object Model (DOM) yapısının güvensiz bir JavaScript kodu ile manipüle edilmesiyle oluştuğu türdür. Bu senaryoda zararlı veri (payload), sunucuya hiç ulaşmayabilir veya sunucu yanıtlarında görünmeyebilir; işlem doğrudan kullanıcının tarayıcısında gerçekleşir.

Olası Etkileri

Başarılı bir XSS saldırısı, hedef sistemde ve kullanıcı üzerinde ciddi güvenlik ihlallerine yol açabilir. Başlıca etkileri şunlardır:

  • Oturum Çalma (Session Hijacking): Kullanıcıların oturum çerezlerinin (session cookies) ele geçirilerek hesaplara yetkisiz erişim sağlanması.
  • İzinsiz Eylem Gerçekleştirme: Kurbanın yetkileri dahilinde, onun haberi olmadan form doldurma, mesaj gönderme veya parola değiştirme gibi işlemler yapılması.
  • Oltalama (Phishing) ve Yönlendirme: Kullanıcının, sahte bir giriş ekranına veya zararlı yazılım indiren farklı bir web sitesine yönlendirilmesi.

Korunma ve Hafifletme Yöntemleri

XSS'e karşı korunmak için yazılım geliştirme yaşam döngüsünde (SDLC) savunma derinliği prensibi uygulanmalıdır. Temel güvenlik önlemleri şunlardır:

  1. Girdi Doğrulama (Input Validation): Kullanıcıdan alınan tüm verilerin, beklenen tip ve uzunluğa uygunluğunun beyaz liste (whitelist) yaklaşımıyla sunucu tarafında denetlenmesi.
  2. Çıktı Kodlama (Output Encoding): Verilerin tarayıcıya yansıtılmadan önce, HTML, JavaScript veya URL bağlamlarına uygun şekilde zararsız karakter dizilerine (encode) dönüştürülmesi.
  3. İçerik Güvenliği Politikası (Content Security Policy - CSP): Tarayıcının hangi kaynaklardan betik çalıştırabileceğini katı bir şekilde belirleyen HTTP başlıklarının kullanılması.
  4. HttpOnly Çerezleri: Oturum çerezlerinin HttpOnly bayrağı ile işaretlenerek istemci tarafı betikler (JavaScript) tarafından okunmasının engellenmesi.

Bibliographies

Cloudflare. (t.y.). What is cross-site scripting?. Erişim adresi:https://www.cloudflare.com/learning/security/threats/cross-site-scripting/(Erişim tarihi: 27 Nisan 2026).

OWASP Foundation. (t.y.). Cross Site Scripting (XSS). Erişim adresi: https://owasp.org/www-community/attacks/xss/(Erişim tarihi: 27 Nisan 2026).

PortSwigger. (t.y.). Cross-site scripting. Erişim adresi:https://portswigger.net/web-security/cross-site-scripting(Erişim tarihi: 27 Nisan 2026).

The MITRE Corporation. (t.y.). CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'). Erişim adresi:https://cwe.mitre.org/data/definitions/79.html(Erişim tarihi: 27 Nisan 2026).

Author Information

Avatar
AuthorMehmet Mustafa KınalıApril 27, 2026 at 6:25 AM

Tags

Discussions

No Discussion Added Yet

Start discussion for "Cross Site Scripting(XSS)" article

View Discussions

Contents

  • Cross-Site Scripting (XSS)

    • Tarihsel Gelişim ve Bağlam

    • Çalışma Mekanizması

    • XSS Türleri

      • 1. Kalıcı (Stored / Persistent) XSS

      • 2. Yansıyan (Reflected / Non-Persistent) XSS

      • 3. DOM Tabanlı (DOM-based) XSS

    • Olası Etkileri

    • Korunma ve Hafifletme Yöntemleri

This article was created with the support of artificial intelligence.

Ask to Küre