Sadece mütevazı bir özet:
S: Aynı Kaynak Politikası (SOP) yalnızca tarayıcılar tarafından mı uygulanıyor?
A: Evet. Bir tarayıcı içinde yaptığınız tüm aramalarda, SOP kesinlikle tarayıcı tarafından uygulanır. Sunucu, talebin kaynağını kontrol edebilir veya kontrol etmeyebilir.
S: Bir istek SOP ile uyumlu değilse, tarayıcı onu engelliyor mu?
C: Hayır, tarayıcıların yetkisinin ötesinde. Tarayıcılar sadece çapraz orijinli istekler gönderir ve aramanın sunucu tarafından Access-Control
- * başlıkları aracılığıyla okunaklı olup olmadığını görmek için yanıtı bekler . Sunucu Access-Control-Allow-Origin
başlığı geri göndermiyorsa , arayanın kaynağını geri göndermiyorsa veya *
başlıkta geri göndermiyorsa , tarayıcının yapacağı tek şey, arayan kişiye yanıtı vermekten kaçınmaktır.
S: Adres sahteciliği yapamayacağım anlamına mı geliyor Origin
?
C: Tarayıcıda ve komut dosyası kullanırken Origin
, tarayıcının kontrolünde olduğu için geçersiz kılamazsınız. Ancak, kendinizi hacklemek istiyorsanız, tarayıcınızdan gelen aramaları, tarayıcı uzantılarını veya makinenize yüklediğiniz diğer araçları kullanarak kurcalayabilirsiniz. Ayrıca verebilir HTTP
kullanarak çağrı curl
, Python
, C#
vb ve değiştirmek Origin
hüner sunucularına başlığını.
S: Öyleyse değiştirerek sunucuyu kandırabilirsem , bu güvenli olmadığı Origin
anlamına CORS
mı gelir ?
C: CORS
Kendiliğinden güvenlik konusunda sessizdir - yani taleplerin kimlik doğrulaması ve yetkilendirilmesi. İstekleri incelemek ve tanımlama bilgileri ve başlıklar gibi birlikte çalıştıkları herhangi bir mekanizma ile bunları doğrulamak / yetkilendirmek sunuculara bağlıdır. Bunu söyledikten sonra, XSS gibi saldırılar durumunda bizi biraz daha koruyabilir:
Örnek:
Diyelim ki web sitenizde oturum açtınız ve kötü amaçlı bir komut dosyası, bakiyenizi sorgulamak için bankanızın web sitesine bir istek göndermeye çalışıyor: Yansıyan XSS saldırısı. Bankanızın web sitesi, web sitenizden (burada adına) gelen kimlik bilgilerine güvenir, böylece istek doğrulanır ve HTTP
kötü amaçlı koda yönelik bir yanıt verilir. Bankanızın web sitesi uç noktalarını diğer kaynaklarla paylaşmayı umursamıyorsa, içermezAccess-Control-Allow-Origin
yanıtta başlık. Şimdi, istek geldiğinde, tarayıcı isteğin Cross Origins isteği olduğunu fark eder, ancak yanıt, sunucunun kaynağı (burada denge sorgusu uç noktası) web sitenizle paylaşmaktan memnun olduğunu göstermez. Böylece akışı keser, dolayısıyla döndürülen sonuç asla kötü amaçlı koda ulaşmaz.
foo.com
)Access-Control-Allow-Origin
üstbilgiyi sağlamak zorunda, aksi takdirde tarayıcı isteğe izin vermiyorbar.com
.