Hacker DirectoryHacker Directory
Öğrenmeye devam et
ENHTML kaydet ↓

WEB / CASE browser-and-api

API yanıt verdi; script neden okuyamıyor?

CORS’un request delivery, preflight ve script exposure aşamalarını authentication ve authorization’dan ayır.

Gözlem dosyası

Atlas browser context’i ile Catalog API farklı origin’lerde. Fixed read-only request X-Atlas-View header taşıyor; ön kontrol gerekiyor. Sentetik denied-preflight dalında actual request gönderilmedi. Diğer fixed response dalında HTTP receipt var fakat script exposure engellendi.

İki başarısızlık aynı değil

Preflight denial ile actual response’un script’e kapatılması ayrı aşamalardır. Console mesajı tek başına server action’ın çalışmadığını kanıtlamaz. Request type ve branch’e göre server trace ve Network gözlemini birlikte oku.

CORS API’de authorization yerine geçmez. Ayrıca bir CORS denial normal policy enforcement olabilir; onu saldırı alarmı diye işaretleme. Allowed origin ve credential mode birlikte değerlendirilir.

Regression sınırı

Sabit fixture’da allowed preflight, denied preflight ve actual response exposure dallarını ayrı izle. Expected origin policy’sini ve credential mode’u doğrula; public API okunabilirliği protected object izni olarak raporlanmaz.

SIRA SENDE

Bu hikâyeyi sen çöz.

Sonucu tahmin et, kanıtın sınırını bul ve nedenini kendi cümlenle anlat.

A ve B sentetik branch’lerini karşılaştır: hangi kayıt request delivery ile script exposure ayrımını destekler?

Sentetik vaka dosyasından seçilen gözlemler

context
Atlas browser / Catalog API: different origins
fixed request header
X-Atlas-View
branch A
preflight denied; actual request not sent
branch B
HTTP receipt observed; script exposure blocked
  1. Her iki branch’te actual request hiç gönderilmedi.
  2. B’de receipt olduğuna göre protected object authorization da allow’dur.
  3. A preflight sınırında durur; B receipt sonrası script exposure sınırında durur.
Gerekçeli cevabı oku

A preflight sınırında durur; B receipt sonrası script exposure sınırında durur. — Bu dosyada iki farklı failure boundary vardır. A için actual request gönderilmediği verilmiştir; B’de receipt vardır ama script body erişimi verilmez. Bunlar API object izninin yerine geçmez.

Bir CORS denial görünce “server action kesin çalışmadı ve saldırı oldu” yazmak neden iki desteklenmeyen iddiadır?

  1. Policy normal çalışmış olabilir; action sonucu için branch ve server gözlemi gerekir.
  2. Farklı origin’den gelen her request saldırıdır.
  3. CORS deny API’deki authorization kontrolünün tamamlandığını kanıtlar.
Gerekçeli cevabı oku

Policy normal çalışmış olabilir; action sonucu için branch ve server gözlemi gerekir. — Console mesajını sınırlı bir browser gözlemi olarak kullan. Action yürütülmedi veya olay var iddiası için ek kapsam ve kaynak gerekir; CORS ayrıca API authorization sistemi değildir.

Allowed preflight, denied preflight ve receipt sonrası exposure için üç ayrı kontrol yaz. Credential mode ve API izni nerede kalır?

Gerekçeli cevabı oku

Allowed preflight branch’inde beklenen origin/header policy’sini ve actual request’in sonraki aşamasını kontrol ederim. Denied preflight fixture’ında actual request gönderilmediği ayrı gözlenir. Receipt sonrası exposure branch’inde Response receipt ile script’in okuyabildiği alanlar ayrılır. Credential mode policy ile birlikte değerlendirilir. Bu sonuçların hiçbirini protected object izni diye sunmam; API authentication ve authorization ayrıca doğrulanır.

□ Allowed ve denied preflight actual request koşulları ayrı mı?

□ Receipt ile script exposure birbirinden ayrıldı mı?

□ Expected origin policy ve credential mode birlikte değerlendirildi mi?

□ API object/action authorization bağımsız kontrol olarak kaldı mı?

Bu vakayla bağlantılı dersler · 18

Bu derslerdeki kavramlarla vakaya dön. Bağlantılar vaka kaydına yeni gözlem eklemez; farklı sorumlulukları birlikte incelemene yardımcı olur.