برنامه وب – آیا هر سایت بدون یک نشانه CSRF آسیب پذیر است به حمله CSRF؟

من بسیاری از سایت های محبوب را یافتم که هیچ نشانه Crsf در هدر کوکی ندارند، آیا این به این معنی است که همه این سایت ها آسیب پذیر هستند؟

من سعی کردم بیشتر در مورد آن یاد بگیرم و متوجه شدم چیزی به نام CORS وجود دارد که آن را محافظت می کند اما نمی توانم آن را درک کنم.

لطفا روش خود را در صورت امکان به اشتراک بگذارید، مانند آنچه که برای سایت شما با نشانه crsf پیدا می کنید چه چیزی را آزمایش می کنید؟ چگونه می توان آنرا بررسی کرد یا نه؟

xss – برنامه تک صفحه و Token CSRF هر بار تولید می شود

من باید از یک صفحه یک صفحه استفاده کنم (React، Ember، Angular، I do not care) با مکانیزم محافظت از Rails CSRF

من تعجب می کنم که آیا من نیاز به ایجاد زمان eome برچسب در ApplicationController مانند این:

 کلاس ApplicationController <ActionController :: Base

  بعد از عمل: set_csrf_cookie

  def set_csrf_cookie
    کوکی ها ["X-CSRF-Token"] = form_authenticity_token
  پایان

پایان

یا من فقط می توانم یک نشانه یک بار ایجاد کنم .

در هر جلسه یا هر (غیر GET) درخواست؟

فکر می کنم تاکتیک هنوز معتبر است تا جلسه معتبر باشد، درست است

CLARIFY :

برنامه های پیش فرض Rails (صفحات ارائه شده توسط سرور) به روز رسانی csrf-token هر زمانی که من به یک صفحه مراجعه می کنم. بنابراین هر زمانی که تغییر می کند

بنابراین در وضعیت من اگر یک علامت جدید برای هر after_action ایجاد کنم، CSRF-Token قبلی هنوز برای این جلسه مناسب است. بنابراین، چگونگی جعل قبلی را نامعتبر کنید؟ من باید

از آنجا که تنها اگر من نامعتبر آن را حس می کند، درست است

csrf – درخواست برای دومین بار به CSRFGuardFilter در هنگام بارگیری همان صفحه

در درخواست من، تماس با آژاکس را با نشانی اینترنتی /abc/pqr/test.jsp با استفاده از برچسب در header ایجاد می کنم. این تماس ابتدا به CSRFGuardFilter می رود و پس از آن بررسی اعتبار سنجی نشانه ای که کار خوب است. در حال حاضر، در این صفحه من در حال انجام فرم از همان URL

این بار زمانی که من ارسال فرم، آن را به CSRFGuardFilter هدایت نمی شود. من مطمئن نیستم که چرا آیا راهی وجود دارد که بتوانم بار دوم را برای CSRFGuardFilter برای اعتباربخشی بارگذاری کنم. لطفا کمک کنید.

http – نوعی از CSRF ممکن است با استفاده از برچسب img برای خواندن اطلاعات حساس باشد

بگذارید بگوییم یک API در https: // mysite / api / getSensitiveData که در GET کار می کند و با کوکی محافظت می شود و برخی از بدی ها یک سایت را روی سرور خود ایجاد می کند که یک برچسب تصویر دارد:


اکنون مرورگر این درخواست را اجرا می کند و کوکی ها را ارسال می کند و داده ها بارگیری می شود (تا آنجا که من حداقل می دانم) و پس از آن که هیچ تصویری نمایش داده نخواهد شد.

اما درخواست در سایت اجرا شد جایی که یک پسر بد جاوا اسکریپت را کنترل می کند. آیا راهی وجود دارد که پاسخ را بتوان از تصویر، برخی از پروسه های درخواست یا روش دیگری خواند؟

P.S. شاید برخی از امکانات مشابه دیگر وجود دارد، لزوما IMG برچسب نیست؟