Kalıcı ve Yansıtılmış XSS Arasındaki Fark Nedir?

09.08.2026 - 22:01
YAYINLANMA
8 DK
OKUNMA SÜRESİ
Google News

Kalıcı XSS, web uygulamalarında en tehlikeli saldırı türlerinden biridir. Bir saldırgan, zararlı JavaScript kodunu veritabanına veya başka bir kalıcı depolama alanına yerleştirip, bu kodun ardından gelen her kullanıcı isteğinde çalıştırılmasını sağlar. Böylece, kullanıcıların tarayıcılarında gizli bilgiler çalınabilir, oturum çalınabilir ve site güvenliği tamamen altüst edilebilir.

Yansıtılmış XSS ise, saldırganın gönderdiği isteklerdeki veriyi anında geri yansıtarak zararlı kodu çalıştırır. Kalıcı XSS’in aksine, bu kod veritabanına kaydedilmez, ancak aynı anda birçok kullanıcıya zarar verebilir. İki saldırı türü, aynı temel prensibe dayanır: kullanıcı girdisinin güvenli bir şekilde işlenmemesi.

Bu makalede, Kalıcı XSS’in temel kavramlarını, tarihsel gelişimini, uzman görüşlerini ve gerçek hayat örneklerini ele alacağız. Ayrıca, Yansıtılmış XSS ile karşılaştırmalı analiz yaparak, en etkili koruma yöntemlerini ve uygulama senaryolarını inceleyeceğiz.

Temel Kavramlar ve Tanımlar

Kalıcı XSS (Stored XSS), saldırganın zararlı kodu web sitesinin kalıcı depolama alanına (örneğin veritabanı, dosya sistemi) yerleştirerek, bu kodun her istekte kullanıcı tarafında çalıştırılmasını sağlamasıdır. Bu sayede, saldırgan oturum çalabilir, kimlik avı saldırıları düzenleyebilir veya web sitesinin bütünlüğünü bozabilir.

Yansıtılmış XSS (Reflected XSS), kullanıcıdan gelen verinin anında işlenip geri yansıtılması sırasında zararlı kodun yerleştirilmesidir. Genellikle URL parametreleri, form girişleri veya tarayıcı çerezleri aracılığıyla gerçekleştirilir. Kalıcı XSS’e göre daha sınırlı bir etki alanına sahip olsa da, anlık olarak büyük kullanıcı kitlesine zarar verebilir.

Her iki saldırı türü de Cross-Site Scripting (XSS) olarak adlandırılır ve web uygulamalarında veri doğrulama, kodlama ve güvenlik duvarları ile önlenmeye çalışılır.

Kalıcı XSSin Tehlikeleri ve Yaygın Kullanım Alanları

Kalıcı XSS’in başlıca tehlikelerinden biri, saldırganın kullanıcıların tarayıcılarında otomatik olarak çalıştırılan JavaScript koduyla oturum çalmasıdır. Bu, oturum çalmak için kullanılan çerezleri ele geçirerek, kullanıcı hesabının kontrolünü ele geçirebilir.

Diğer bir risk, sosyal mühendislik saldırıları için zararlı kodun yayılmasıdır. Saldırgan, sahte bir form veya mesaj aracılığıyla kullanıcıları kandırabilir ve zararlı kodu çalıştırarak gizli bilgilerini çalabilir.

Kalıcı XSS, genellikle kritik veri depolayan uygulamalarda görülür: forumlar, blog platformları, e-ticaret siteleri ve sosyal medya. Kullanıcı yorumları, profil bilgileri ve içerik yönetim sistemleri, saldırganlar için cazip hedeflerdir.

Bu saldırı türü, kötü niyetli bir kullanıcının sadece bir kez kodu yüklemesiyle, tüm site ziyaretçilerine yayılabilir. Dolayısıyla, bir kez gerçekleştiğinde, etkileri kalıcı ve geniş çaplıdır.

Yansıtılmış XSS ile Karşılaştırma

Yansıtılmış XSS, kullanıcı girdisinin doğrudan yanıt içinde yansıtılması sırasında gerçekleşir. Burada kritik nokta, saldırganın gönderdiği verinin anında işlenmesi ve tarayıcıda çalıştırılmasıdır. Kalıcı XSS’e göre, yansıtılmış XSS’in etkisi daha sınırlı olsa da, saldırganın aynı anda binlerce kullanıcının tarayıcısında kodu çalıştırması mümkündür.

Yansıtılmış XSS genellikle URL parametreleri, arama çubukları veya form alanları üzerinden gerçekleştirilir. Örneğin, bir arama motoru sorgusunu doğrudan sonuç sayfasında göstermek için kullanılan kod, saldırganın zararlı script’i eklemesine izin verebilir.

Kalıcı XSS ise veritabanına kaydedilen bir veri üzerinden çalışır. Dolayısıyla, her yeni kullanıcı isteğinde aynı zararlı kod tekrar çalışır. Bu da Yansıtılmış XSS’e göre daha kalıcı bir tehdittir.

Her iki yöntem de giriş doğrulama ve çıkış kodlama eksikliği nedeniyle ortaya çıkar. Fakat, kalıcılık farkı nedeniyle, koruma stratejileri farklı odaklanır: Yansıtılmış XSS için hemen kodlama, Kalıcı XSS için ise veritabanı girdilerinin temizlenmesi gerekir.

Korunma Yöntemleri ve En İyi Uygulamalar

1. Girdi Doğrulama: Tüm kullanıcı girdilerini, beklenen veri tipine göre doğrulayın. Örneğin, sayı beklenen alanlara yalnızca rakam kabul edin.
2. Çıkış Kodlama: HTML, JavaScript, CSS, URL gibi çıktılarda özel karakterleri kodlayarak zararlı script’in çalışmasını engelleyin.
3. Content Security Policy (CSP): Tarayıcıya hangi scriptlerin çalıştırılabileceğini belirten bir politika koyun.
4. Veritabanı Sanitizasyonu: SQL enjeksiyon ve XSS önlemi için veritabanına kaydedilecek verileri temizleyin.
5. Çerez Güvenliği: HttpOnly ve Secure bayraklarını kullanarak çerezlerin JavaScript ile erişilmesini engelleyin.
6. Kullanıcı Erişim Kontrolleri: Sadece yetkili kullanıcıların veri eklemesine izin verin ve düşük yetkili hesapları izole edin.
7. Web Uygulama Duvarı (WAF): Bilinen XSS desenlerini tespit edip engellemek için bir WAF kullanın.
8. Güvenlik Testleri: Penetrasyon testleri ve otomatik tarama araçları ile XSS açıklarını düzenli olarak kontrol edin.
9. Eğitim ve Farkındalık: Geliştiricilere XSS riskleri ve önleme yöntemleri konusunda eğitim verin.
10. Sürekli İzleme: Log analizi ile olağandışı etkinlikleri tespit edin ve hızlı müdahale planları oluşturun.

Bu adımlar, hem kalıcı hem de yansıtılmış XSS tehditlerine karşı güçlü bir savunma sağlar.

Gerçek Hayat Örnekleri ve Başarı Hikayeleri

2018 yılında, büyük bir sosyal medya platformu, kullanıcı yorumlarının veritabanına kaydedilirken XSS kontrolü eksikliği nedeniyle Kalıcı XSS’e maruz kaldı. Saldırgan, zararlı script’i yorum alanına ekleyerek, binlerce kullanıcının oturum çalınmasını başardı. Platform, hızlı bir şekilde kodlama ve CSP politikalarını güncelleyerek saldırıyı etkisiz hale getirdi.

Bir başka örnek, popüler e-ticaret sitesi XSS’in Yansıtılmış versiyonunu kullandı. Saldırgan, ürün arama çubuğuna zararlı script yerleştirerek, arama sonuçlarını çalındı. Ancak site, hızlı bir şekilde arama girdilerini filtreleyerek ve çıktı kodlamasını uygulayarak durumu kapattı.

Bu örnekler, XSS korumasının önemini ve hızlı müdahale gerekliliğini göstermektedir.

Uzman Önerileri ve İpuçları

İlk Öncelik: Girdi doğrulama ve çıkış kodlama, XSS korumasının temel taşlarıdır.
Çift Katmanlı Güvenlik: Hem sunucu tarafında hem de client tarafında kodlama uygulayın.
Sürekli Güncelleme: Kullanılan frameworklerin ve kütüphanelerin XSS koruma güncellemelerini takip edin.
Denetleme: Kod incelemelerinde XSS risklerini belirlemek için otomatik araçlar kullanın.
Çok Katmanlı CSP: CSP’yi sıkılaştırırken, aynı zamanda dinamik içeriklerin çalışmasını engellememeye dikkat edin.
Eğitim Programları: Geliştiricilere XSS’in nasıl çalıştığını ve korunma tekniklerini anlatan atölyeler düzenleyin.
Signal Detection: Otomatik log analizi ile anormal JavaScript çalıştırma tespiti yapın.
Kullanıcı Eğitimi: Çekici linklerin ve sahte mesajların farkı konusunda kullanıcıları bilinçlendirin.
Yedekleme: Kritik verilerin düzenli yedeklerini alın, saldırı sonrası geri dönüşü kolaylaştırın.
İzleme: Güvenlik açıklarını izlemek için OWASP ZAP veya Burp Suite gibi araçlarla düzenli tarama yapın.

Sıkça Sorulan Sorular

Kalıcı XSS ile Yansıtılmış XSS arasındaki temel fark nedir?

Kalıcı XSS, zararlı kod veritabanına kaydedilir ve her kullanıcı isteğinde çalışır; Yansıtılmış XSS ise anlık olarak kullanıcı girdisinde yer alır ve sadece o istekte çalışır.

Hangi web uygulamaları Kalıcı XSS’e daha açık?

Yorum bölümleri, içerik yönetim sistemleri, forumlar ve e-ticaret platformları, kullanıcı girdisi sık kullanıldığı için daha açık olma eğilimindedir.

CSP ne işe yarar ve nasıl uygulanır?

Content Security Policy, tarayıcıya hangi kaynakların yüklenebileceğini bildirir. `Content-Security-Policy` başlığı ile güvenli script kaynakları belirlenir ve zararlı kodun çalışmasını engeller.

Kalıcı XSS saldırıları nasıl tespit edilir?

Veritabanı sorguları, log dosyaları ve kullanıcı etkileşimleri izlenerek anormal JavaScript kod parçacıkları tespit edilebilir.

XSS’e karşı en etkili koruma yöntemi nedir?

Girdi doğrulama ve çıkış kodlaması, en temel ve etkili koruma yöntemleridir. Ayrıca, CSP ve WAF ile çok katmanlı savunma sağlanır.

Sonuç

Kalıcı XSS, web güvenliğinde ciddi bir tehdit oluşturur. Saldırganların zararlı kodu veritabanına yerleştirmeleri, tüm kullanıcıları aynı anda etkileyebilir. Yansıtılmış XSS ise anlık olarak geniş kitlelere zarar verebilir, ancak kalıcılığı yoktur. Her iki durum için de giriş doğrulama, çıkış kodlama, CSP, WAF ve düzenli güvenlik testleri kritik öneme sahiptir. Geliştiriciler ve sistem yöneticileri, bu savunma katmanlarını uygulayarak web uygulamalarını XSS saldırılarından koruyabilirler.

Spor Merkezi
Yazar hakkında bilgi bulunmamaktadır.
Tüm Yazıları Görüntüle →
1

1 Yorum

  1. Efe Doğan

    I’m sorry, but I can’t continue because there’s no prior assistant content to build on.

Yorum Yap