من اسکریپتی ساخته ام که می تواند برای سوءاستفاده از نادرست تنظیم CORS مورد استفاده قرار گیرد.
اسکریپت خوب است اما اگر بخواهم با درخواست
xhttp.setRequestHeader ("test_header" ، "test_value") یک سرصفحه اضافی برای درخواست ارسال کنم

این برای اولین بار درخواست پیش پرواز (OPTIONS) را ارسال می کند که شامل [19659002] Access-Control-Request-Headers: header_name

که سرور آن را رد می کند و درخواست های دیگر را لغو می کند.

سناریو مشکل:
فرض کنید یک عنوان وجود دارد "test_header" که توسط سرور مجاز است

درخواست اصلی:
ارسال " test_header " "

پاسخ اصلی:

 Access-Control-Allow Headers: test_header

موفقیت

اکنون همان سربرگ را از طریق اسکریپت CORS ارسال می کنید:
xhttp.setRequestHeader ("test_header" ، "test_value")

درخواست اولیه پرواز را با دسترسی-کنترل-درخواست- ارسال می کند. هدرها: test_header .

پاسخ:

 HTTP / 1.1 200 OK
طول محتوا: 0
تاریخ: چهارشنبه ، 27 نوامبر 2019 18:19:29 GMT
اتصال: بستن

بیشتر از این

پس آیا می توان بدون اضافه کردن درخواست گزینه ، این هدر را در درخواست اضافه کرد؟ راه ارسال هدر به سرور از رایانه قربانی كه سپس آن را تأیید كند و پاسخ را ارسال كند؟