Laravel 5.6.30 یک نسخه امنیتی از Laravel است و به عنوان یک ارتقاء فوری برای همه کاربران توصیه می شود. Laravel 5.6.30 نیز حاوی یک تغییر شگفت انگیز برای رمزنگاری کوکی و منطق سریال سازی است، بنابراین لطفا در هنگام ارتقای برنامه خود، یادداشت های زیر را بخوانید.
 

این آسیب پذیری تنها می تواند مورد سوء استفاده افرادی قرار گیرد که کلید رمزنگاری برنامه (متغیر محیط APP_KEY) داشته باشد و از آن استفاده مخرب نماید. به طور معمول کاربران وب سایت شما امکان دسترسی به این مقدار را ندارند. با این حال، کارمندان سابق اگر کلید رمزگذاری دسترسی داشتند ممکن است قادر به استفاده از کلید برای حمله به برنامه های شما باشند. این متغیر بایستی همیشه برای جلوگیری از حملات مخرب مقدار جدید دریافت کند.

 

سریال کوکی ها

لاراول 5.6.30 قابلیت غیر فعال کردن تمام serialization / unserialization مقادیر کوکی داراست. از آنجا که تمام کوکی های Laravel رمزگذاری شده و امضا شده اند، مقادیر کوکی به طور معمول از دستکاری کاربر محسوب می شوند. با این حال، اگر کلید رمزنگاری اپلیکیشن شما در دست افراد مخرب باشد، این افراد می توانند با استفاده از کلید رمزنگاری مقادیر کوکی را تولید کند و از آسیب پذیری ها به عنوان سریال سازی / ناپیوسته سازی PHP استفاده می کند، مانند فراخوانی روش کلاس های ارجاع شده در برنامه خود.

غیر فعال کردن سریال در تمام مقادیر کوکی، تمام sessionهای برنامه شما را نادیده می گیرد و کاربران باید مجددا وارد برنامه شوند. علاوه بر این، هر کوکی رمزگذاری شده دیگری که برنامه شما تنظیم می کند، مقادیر نامعتبر دارد. به همین دلیل ممکن است بخواهید منطق اضافی را به درخواست خود اضافه کنید تا اعتبار این را بدست آورید که مقادیر کوکی سفارشی شما با یک لیست انتظار برای مقادیری که انتظار دارید، مطابقت داشته باشند. در غیر این صورت، شما بایستی آنها را نادیده بگیرید.

 

پیکربندی سرویس کوکی

از آنجا که این آسیب پذیری نمی تواند بدون دسترسی به کلید رمزنگاری برنامه شما مورد سوء استفاده قرار گیرد، ما تصمیم گرفتیم برای راه اندازی مجدد سریال رمزگذاری شده، در حالی که برنامه خود را با این تغییرات جدید سازگار کنید تغییری در پیکربندی سرویس داشته باشیم. برای فعال کردن / غیرفعال کردن سریال سازی کوکی، شما می توانید از ویژگی Serialize استاتیک برنامه میان افزار / برنامه App\Http\Middleware\EncryptCookies middleware: تغییر دهید:

/**
 * Indicates if cookies should be serialized.
 *
 * @var bool
 */
protected static $serialize = true;

 

امیدوارم در جهت بهبود امنیت وبسایت ها و برنامه های خود سریعا بروزرسانی فوق را انجام دهید. پیروز باشید.