بازتاب هر Origin با Access-Control-Allow-Credentials: true
ترکیبی که به هر سایتی اجازه میدهد با کوکی نشست قربانی، دادهی حساس API را بخواند.
وقتی یک API مقدار هدر Origin درخواست را عیناً در Access-Control-Allow-Origin بازتاب میدهد و همزمان Access-Control-Allow-Credentials: true هم تنظیم میکند، هر سایتی (حتی یک سایت کاملاً مهاجم) میتواند از مرورگر قربانی (با کوکی نشست معتبر او) درخواست بزند و پاسخ را با موفقیت بخواند.
نحوهی شناسایی
- با Burp Repeater، هدر Origin درخواست را به یک دامنهی دلخواه تغییر دهید.
- اگر مقدار ACAO همان دامنهی دلخواه شما بود (نه یک allowlist ثابت)، و ACAC هم true بود، آسیبپذیری تایید شده.
راهحل
Allowlist ثابت و دقیق از دامنههای مجاز برای ACAO، و فعالکردن Allow-Credentials فقط برای همان دامنههای مشخص، هرگز بهصورت بازتابی یا wildcard.