برنامه نویسی

بای پس سیاست امنیت محتوا در لاراول: خطرات و کاهش

در چشم انداز توسعه وب امروز ، امنیت مهم است. یکی از ویژگی های مهم امنیتی ، سیاست امنیت محتوا (CSP) است که برای جلوگیری از اجرای محتوای مخرب در وب سایت شما طراحی شده است. با این حال ، غلط های نادرست یا نظارت می تواند منجر به گذرگاه های CSP شود ، به خصوص در چارچوب هایی مانند لاراول. این مقاله به چگونگی وقوع گذرگاه های CSP در برنامه های Laravel می پردازد و اقدامات عملی را برای کاهش این آسیب پذیری ها ارائه می دهد.

بای پس سیاست امنیت محتوا در لاراول: خطرات و کاهش

درک سیاست امنیت محتوا (CSP)

CSP یک استاندارد امنیتی است که برای جلوگیری از اسکریپت های متقابل سایت (XSS) ، ClickJacking و سایر حملات تزریق کد معرفی شده است. این امکان را برای توسعه دهندگان وب فراهم می کند تا منابعی را که یک عامل کاربر مجاز به بارگیری برای یک صفحه معین است ، کنترل کنند. CSP با تعریف یک لیست سفید از منابع محتوای مورد اعتماد ، خطر اجرای محتوای مخرب را کاهش می دهد.


تکنیک های متداول بای پس CSP در لاراول

در حالی که CSP یک اقدام امنیتی قوی است ، برخی از شیوه ها می توانند سهواً اثربخشی آن را تضعیف کنند:

1. بهره برداری از نقطه پایانی JSONP

JSONP (JSON With Padding) روشی است که برای درخواست داده از سرور ساکن در یک دامنه متفاوت استفاده می شود. با این حال ، اگر به درستی اداره نشود ، می توان از نقاط پایانی JSONP برای دور زدن CSP استفاده کرد. مهاجمان می توانند اسکریپت های مخرب را از طریق این نقاط پایانی تزریق کنند ، به خصوص اگر در آن گنجانده شده باشند script-src دستورالعمل CSP شما.

مثال:

Content-Security-Policy: script-src 'self' https://trusted.cdn.com https://vulnerable.jsonp.endpoint.com;
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اگر https://vulnerable.jsonp.endpoint.com به خطر افتاده است یا به محتوای تولید شده توسط کاربر اجازه می دهد ، یک مهاجم می تواند اسکریپت های مخرب را که CSP شما اجازه می دهد تزریق کند.


2 .. غلط تنظیم شده script-src راهنما

اجازه دادن به منابع اسکریپت ناامن یا استفاده از کارتهای وحشی در خود script-src دستورالعمل می تواند درها را برای مهاجمان باز کند. به عنوان مثال ، استفاده 'unsafe-inline' اجازه اجرای اسکریپت های درون خطی را می دهد ، که می تواند یک خطر امنیتی قابل توجهی باشد.

مثال:

Content-Security-Policy: script-src 'self' 'unsafe-inline';
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این پیکربندی به هر اسکریپت درون خطی اجازه می دهد تا حملات XSS را به طور بالقوه فعال کند.


اجرای CSP در لاراول

برای اجرای مؤثر CSP در لاراول ، مراحل زیر را در نظر بگیرید:

1. از میانه نرم افزار برای هدرهای CSP استفاده کنید

Laravel به ایجاد میان افزار اجازه می دهد تا هدرهای HTTP را اصلاح کند. با ایجاد یک میان افزار ، می توانید هدرهای CSP را برای پاسخ های برنامه خود تنظیم کنید.

مثال میان افزار:



namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class ContentSecurityPolicy
{
    public function handle(Request $request, Closure $next)
    {
        $response = $next($request);
        $response->headers->set('Content-Security-Policy', "default-src 'self'; script-src 'self' https://trusted.cdn.com; object-src 'none'; frame-ancestors 'none';");
        return $response;
    }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این میان افزار را در خود ثبت کنید Kernel.php برای استفاده از آن در سطح جهانی یا در مسیرهای خاص.


ترتیب بسته های موجود را اهرم کنید

بسته Spatie/Laravel-CSP روشی ساده برای مدیریت CSP در برنامه های LARAVEL فراهم می کند. این امکان را برای تعریف سیاست ها فراهم می کند و افزودن هدر را به صورت یکپارچه کنترل می کند.

نصب:

composer require spatie/laravel-csp
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

تعریف یک سیاست:



namespace App\Csp;

use Spatie\Csp\Directive;
use Spatie\Csp\Policies\Policy;

class AppPolicy extends Policy
{
    public function configure()
    {
        $this
            ->addDirective(Directive::DEFAULT_SRC, 'self')
            ->addDirective(Directive::SCRIPT_SRC, ['self', 'https://trusted.cdn.com'])
            ->addDirective(Directive::OBJECT_SRC, 'none')
            ->addDirective(Directive::FRAME_ANCESTORS, 'none');
    }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

ثبت سیاست را در AppServiceProvider:

use Spatie\Csp\Csp;
use App\Csp\AppPolicy;

public function boot()
{
    Csp::setPolicy(AppPolicy::class);
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


استراتژی های کاهش

برای جلوگیری از بای پس CSP در برنامه LARAVEL خود ، به بهترین روشهای زیر رعایت کنید:

1. از استفاده خودداری کنید 'unsafe-inline' وت 'unsafe-eval'

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


2. محدود کردن script-src به حوزه های قابل اعتماد

فقط دامنه هایی را که به آن اعتماد دارید مشخص کنید script-src بخشنامه از استفاده از کارتهای وحشی یا از جمله دامنه هایی که میزبان محتوای تولید شده توسط کاربر هستند ، خودداری کنید.


3. به طور مرتب خط مشی های CSP را ممیزی و به روز کنید

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


استفاده از ابزارهای امنیتی رایگان

ارزیابی های منظم امنیتی بسیار مهم است. از ابزارهای رایگان مانند اسکنر آسیب پذیری وب سایت برای اسکن برنامه LARAVE برای آسیب پذیری های احتمالی ، از جمله سوء استفاده های نادرست CSP استفاده کنید.

استفاده مثال:

  1. به آنالایزر آسیب پذیری وب سایت مراجعه کنید.
  2. آدرس اینترنتی و آدرس ایمیل خود را وارد کنید.
  3. برای دریافت گزارش جامع امنیتی ، اسکن را شروع کنید.

تصویر صفحه وب ابزار رایگان که در آن می توانید به ابزارهای ارزیابی امنیتی دسترسی پیدا کنید.تصویر رابط اسکنر آسیب پذیری وب سایت.


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


نمونه ای از گزارش ارزیابی آسیب پذیری که با ابزار رایگان ما تولید شده است و بینش در مورد آسیب پذیری های احتمالی را ارائه می دهد.تصویر گزارش ارزیابی آسیب پذیری تولید شده توسط ابزار.


پایان

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

برای راهنمایی های بیشتر در مورد امنیت وب ، به وبلاگ ما در وبلاگ Pentest Testing Corp مراجعه کنید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا