Cross-Origin Resource Sharing (CORS)

0

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 Gönder

0 Yorumlar

Yorum yaptığın için teşekkürler

Yorum Gönder (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Accept !
To Top