تزریق – ریل های عجیب و غریب فیلتر اجازه می دهد تا برچسب اما نه

من برای یک مشتری پنتافته است و آنها یک برنامه ریل های سفارشی است که اجازه می دهد تا مدیر حساب برای تغییر محتویات صفحه. در حالی که ویرایشگر جاوا اسکریپت تگ اسکریپت تگ ها را Backend می کند بنابراین با استفاده از burp من می توانم JS دلخواه را به صفحه دریافت کنید. در حالی که ذخیره شده XSS یک جستجوی ملایم است، می خواهم ببینم آیا می توانم صفحه را به شیوه های معنی دارتری مانند اضافه کردن برچسب <%= %> تغییر دهم تا کد زیر روبی را تغییر دهم. متاسفانه هر ورودی مانند آن بازگشت به متن کد شده به معنی آنها آن را فیلتر کردن. من فکر نمی کنم یک رویکرد لیست سفید باشد، زیرا به برچسب های ناخواسته مانند اجازه خواهد داد. به نظر می رسد که فیلتر یک شخصیت "" <تنها "را به تنهایی و هر تگ با شخصیت معنی دار" <# "یا" <؟ "و غیره پیدا کرده است.

آیا کسی تاکنون چنین فیلترهایی را دیده و می داند؟

متشکرم.

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 قبلی هنوز برای این جلسه مناسب است. بنابراین، چگونگی جعل قبلی را نامعتبر کنید؟ من باید

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