Kaynaklar Arası Kaynak Paylaşımı (CORS)
Kaynaklar Arası Kaynak Paylaşımı (CORS), bir sunucunun, bir tarayıcının kaynak yüklemeye izin vermesi gereken, kendisinden başka herhangi bir kaynağı (etki alanı, şema veya bağlantı noktası) belirtmesine olanak tanıyan HTTP üstbilgisi tabanlı bir mekanizmadır. CORS ayrıca, sunucunun asıl isteğe izin verip vermediğini kontrol etmek için, tarayıcıların, çapraz menşe kaynağı barındıran sunucuya bir "ön kontrol" isteğinde bulunduğu bir mekanizmaya da güvenir. Bu ön kontrolde tarayıcı, HTTP yöntemini belirten başlıklar ve gerçek istekte kullanılacak başlıklar gönderir.
Kaynaklar arası istek örneği: https://domain-a.com'dan sunulan ön uç
JavaScript kodu, https://domain-b.com/data.json için bir istek yapmak
için XMLHttpRequest'i kullanır.
Güvenlik nedenleriyle tarayıcılar, komut dosyalarından başlatılan çapraz kaynaklı HTTP isteklerini kısıtlar. Örneğin, XMLHttpRequest ve Fetch API aynı kaynak ilkesini izler. Bu, bu API'leri kullanan bir web uygulamasının, diğer kaynaklardan gelen yanıt doğru CORS başlıklarını içermediği sürece, yalnızca uygulamanın yüklendiği aynı Kaynaktan kaynak talep edebileceği anlamına gelir.
ÖRNEK:
requests:
POST /hesap/duzenle HTTP/2
Host: api.masumsite.com
Content-Length: 28
Origin: masumsite.com
{"kullaniciadi":"asdfasdfsddafads"}
normalde olması gereken response
response:
HTTP/2 200 OK
Content-Type: application/json
Access-Control-Allow-Origin: https://www.masumsite.com
ama biz requstteki Origin: deki domaini değiştirdiğimizde responsda o domain dönüyorsa işte buna CORS denir.
yukarıdaki örnek doğru olan dı şimdi Cross-Origin Resource Sharing (CORS) zaafiyetli bi örnek yapalım:
requests:
POST /hesap/duzenle HTTP/2
Host: api.masumsite.com
Content-Length: 28
Origin: www.evil.com
{"kullaniciadi":"asdfasdfsddafads"}
response:
HTTP/2 200 OK
Content-Type: application/json
Access-Control-Allow-Origin: https://www.evil.com
Etki ve Risk
Bir CORS yanlış yapılandırması, üçüncü taraf sitelerin web sitenizin kimliği doğrulanmış kullanıcıları aracılığıyla kullanıcı ayar bilgilerini alma veya kaydetme gibi ayrıcalıklı istekleri gerçekleştirmesine izin vererek verilerin gizliliği ve bütünlüğü üzerinde bir etkiyle sonuçlanan uygulamayı yüksek bir risk altında bırakabilir. ödeme kartı verileri.
Öte yandan, kamuya açık verilerle ilgilenen ve kaynakların başka kaynaklara gönderilmesini gerektiren uygulamalar için risk düşüktür. Yapılandırma beklenen davranış olabilir ve uygun riski belirlemek ve organizasyonun riski anlayıp hafifletmesi veya kabul etmesi sızma test cihazına bağlı olmalıdır.
Önem Derecesi: DÜŞÜK
ÖDÜL ARALIĞI: 50$ ~ 250$
Yorum yaptığın için teşekkürler