Hacker News

Pentester'lar için CSP: Temelleri Anlamak

Sızma testleri için Ana İçerik Güvenliği Politikası. Yanlış CSP yapılandırmalarını nasıl tanımlayacağınızı ve web uygulaması güvenlik değerlendirmelerini nasıl güçlendireceğinizi öğrenin.

8 dk okuma

Mewayz Team

Editorial Team

Hacker News

Neden Her Pentester'ın İçerik Güvenliği Politikasında Uzmanlaşması Gerekir?

İçerik Güvenliği Politikası (CSP), siteler arası komut dosyası çalıştırma (XSS), veri ekleme ve tıklama saldırılarına karşı tarayıcı tarafının en kritik savunma mekanizmalarından biri haline geldi. Ancak penetrasyon testi görevlerinde CSP başlıkları en sık yanlış yapılandırılan ve yanlış anlaşılan güvenlik kontrollerinden biri olmaya devam ediyor. 1 milyondan fazla web sitesini analiz eden 2024 tarihli bir araştırma, yalnızca %12,8'inin konuşlandırılmış CSP başlıklarını ve bunların neredeyse %94'ünün istismar edilebilecek en az bir politika zayıflığı içerdiğini ortaya çıkardı. Pentester'lar için CSP'yi anlamak isteğe bağlı değildir; bu, yüzey düzeyinde bir değerlendirme ile müşterinin güvenlik duruşunu gerçekten güçlendiren bir rapor arasındaki farktır.

İster web uygulaması değerlendirmeleri yapıyor olun, ister hata ödül avcılığı yapıyor olun, ister hassas müşteri verilerini işleyen bir iş platformunda güvenlik oluşturuyor olun, CSP bilgisi temeldir. Bu kılavuz CSP'nin ne olduğunu, gizli olarak nasıl çalıştığını, nerede başarısız olduğunu ve pentester'ların zayıf politikaları sistematik olarak nasıl değerlendirip atlayabileceğini açıklamaktadır.

İçerik Güvenliği Politikası Aslında Ne Yapar?

Özünde CSP, bir HTTP yanıt başlığı (veya daha az yaygın olarak bir etiketi) aracılığıyla sağlanan bildirime dayalı bir güvenlik mekanizmasıdır. Tarayıcıya, belirli bir sayfada hangi içerik kaynaklarının (komut dosyaları, stiller, resimler, yazı tipleri, çerçeveler ve daha fazlası) yüklenmesine ve çalıştırılmasına izin verildiğini bildirir. Bir kaynak politikayı ihlal ettiğinde, tarayıcı onu engeller ve isteğe bağlı olarak ihlali belirli bir uç noktaya bildirir.

CSP'nin arkasındaki asıl motivasyon XSS saldırılarını azaltmaktı. Giriş temizleme ve çıkış kodlama gibi geleneksel XSS savunmaları etkili ancak kırılgandır; kaçırılan tek bir bağlam veya kodlama hatası, güvenlik açığını yeniden ortaya çıkarabilir. CSP, derinlemesine bir savunma katmanı ekler: Bir saldırgan DOM'a kötü amaçlı bir komut dosyası etiketi eklese bile, düzgün yapılandırılmış bir politika, tarayıcının bunu yürütmesini engeller.

CSP beyaz liste modeliyle çalışır. Bilinen kötü içeriği engellemeye çalışmak yerine, açıkça izin verilen şeyleri tanımlar. Diğer her şey varsayılan olarak reddedilir. Güvenlik modelinin bu şekilde tersine çevrilmesi teoride güçlüdür, ancak pratikte karmaşık web uygulamalarında (özellikle CRM, faturalama, analitik ve rezervasyon sistemleri gibi düzinelerce entegre modülü yöneten platformlarda) katı politikaları sürdürmek herkesin bildiği gibi zordur.

Bir CSP Başlığının Anatomisi: Direktifler ve Kaynaklar

Bir CSP başlığı, her biri belirli bir kaynak türünü kontrol eden yönergelerden oluşur. Bu direktifleri anlamak, bir hedefin politikasını değerlendiren herhangi bir pentester için çok önemlidir. En önemli yönergeler arasında default-src (açıkça ayarlanmayan herhangi bir yönergenin geri dönüşü), script-src (JavaScript yürütme), style-src (CSS), img-src (görüntüler), connect-src (XHR, Fetch, WebSocket bağlantıları), çerçeve-src (gömülü iframe'ler) ve object-src (Flash veya Java uygulamaları gibi eklentiler) bulunur.

Her yönerge, izin verilen kökenleri tanımlayan bir veya daha fazla kaynak ifadesini kabul eder. Bunlar belirli ana makine adlarından (https://cdn.example.com) daha geniş anahtar kelimelere kadar uzanır:

'kendisi' — belgeyle aynı kaynaktan gelen kaynaklara izin verir

💡 BİLİYOR MUYDUNUZ?

Mewayz, 8+ iş aracını tek bir platformda değiştirir

CRM · Faturalama · İnsan Kaynakları · Projeler · Rezervasyon · e-Ticaret · POS · Analitik. Süresiz ücretsiz plan mevcut.

Ücretsiz Başla →

'yok' — bu türdeki tüm kaynakları engeller

'güvenli olmayan satır içi' — satır içi komut dosyalarına veya stillere izin verir (XSS korumasını etkili bir şekilde etkisiz hale getirir)

'unsafe-eval' — eval(), setTimeout(string) ve benzeri dinamik kod yürütmeye izin verir

'nonce-{random}' - eşleşen bir kriptografik nonce ile etiketlenmiş belirli satır içi komut dosyalarına izin verir

'katı dinamik' — ana makine tabanlı izin verilenler listelerini göz ardı ederek, zaten güvenilen komut dosyaları tarafından yüklenen komut dosyalarına güvenir

veriler: - içerik kaynakları olarak veri URI'lerine izin verir

Gerçek dünyadaki bir CSP başlığı şu şekilde görünebilir: Content-Security-Policy: default-src 'self'; script-src 'kendisi' https://cdn.jsdelivr.net 'nonce-abc123'; style-src 'self' 'güvenli olmayan satır içi'; img-src *; nesne kaynağı 'yok'. Bir pentester olarak göreviniz bu politikayı okumak ve nerede güçlü, nerede zayıf ve nerede sömürülebilir olduğunu hemen belirlemektir.

Yaygın CSP Yanlış Yapılandırmaları Sızıntı Testçilerinin Yapması Gerekenler

Frequently Asked Questions

What is Content Security Policy (CSP) and why should pentesters care?

Content Security Policy is a browser-side security mechanism that controls which resources a webpage can load, helping prevent XSS, data injection, and clickjacking attacks. Pentesters must understand CSP because it is one of the most frequently misconfigured security controls — studies show nearly 94% of deployed policies contain exploitable weaknesses. Mastering CSP fundamentals allows pentesters to identify critical vulnerabilities that automated scanners often miss entirely.

What are the most common CSP misconfigurations pentesters find?

The most common CSP misconfigurations include using unsafe-inline and unsafe-eval directives, overly permissive wildcard sources, missing frame-ancestors directives that enable clickjacking, and whitelisting entire CDN domains that host attacker-controllable content. Pentesters should also look for missing directives like base-uri and form-action, which can be leveraged for phishing and data exfiltration even when script controls appear strict.

How can businesses protect their web applications with proper CSP headers?

Businesses should start with a strict CSP using nonce-based or hash-based script allowlisting instead of domain whitelists. Deploy in report-only mode first to identify breakages before enforcement. Platforms like Mewayz, a 207-module business OS starting at $19/mo, help teams manage their web presence securely while following modern security best practices across all digital touchpoints.

What tools do pentesters use to evaluate CSP effectiveness?

Pentesters commonly use Google's CSP Evaluator, browser developer tools, and Burp Suite extensions to analyze CSP headers for weaknesses. Manual testing remains essential — automated tools miss context-dependent bypasses like JSONP endpoints and Angular template injection on whitelisted domains. A thorough assessment combines automated scanning with manual review of each directive against known bypass techniques and the application's specific technology stack.

Mewayz'ı Ücretsiz Deneyin

CRM, faturalama, projeler, İK ve daha fazlası için tümü bir arada platform. Kredi kartı gerekmez.

İşinizi daha akıllı yönetmeye bugün başlayın

30,000+ işletmeye katılın. Sonsuza kadar ücretsiz plan · Kredi kartı gerekmez.

Bunu yararlı buldunuz mu? Paylaş.

Hazır mısınız bunu pratiğe dökmeye?

Mewayz kullanan 30,000+ işletmeye katılın. Süresiz ücretsiz plan — kredi kartı gerekmez.

Ücretsiz Denemeyi Başlat →

Harekete geçmeye hazır mısınız?

Mewayz ücretsiz denemenizi bugün başlatın

Hepsi bir arada iş platformu. Kredi kartı gerekmez.

Ücretsiz Başla →

14 günlük ücretsiz deneme · Kredi kartı yok · İstediğiniz zaman iptal edin