آسیب پذیری Server-Side – همواره امنیت در دنیای دیجیتال از اهمیت بسزایی برخوردار بوده و در حال حاضر بسیاری از شرکتها و سازمانها از این قاعده مستثنی نیستند. اما در این میان، آسیب پذیری های امنیتی به دلیل دسترسی ساده تر و هکر ها به داده ها و سرویس های شرکتها و سازمانها، همواره به یکی از چالشهای بزرگ برای این شرکتها تبدیل شده است. در اینجا آسیب پذیری Server-Side را به عنوان یکی از مهم ترین آسیب پذیری های امنیتی معرفی میکنیم.
با توجه به اینکه دنیای امنیت و بخصوص آشنایی با آسیب پذیری در این پست ما به آشنایی اجمالی این حملات پرداخته ایم. در صورتی که تمایل به یاد گیری بیشتری دارید میتواند به صورت تخصصی در به مطالعه این حملات بپردازید
چیستی آسیب پذیری Server-Side؟
آسیب پذیری Server-Side، آسیب پذیری امنیتی است که در قسمت سرور اتفاق میافتد. به عبارت دیگر، در این نوع از آسیب پذیری ها، هکران میتوانند با استفاده از خللی در قسمت سرور، دادههایی که در آن قرار دارند را به صورت غیرمجاز و یا حتی اصلاحیه کنند.
نحوه عملکرد SQL Injection
در حمله SQL Injection، هکران از فیلدهای ورودی سایت شما برای اجرای دستورات SQL غیرمجاز استفاده میکنند. آنها برای انجام این کار، ابتدا فرمی را با فیلدهای دلخواه خود پر میکنند، و سپس با ارسال اطلاعات، اطلاعات خود را به سمت سرور میفرستند.
در این مرحله، هکران میتوانند از فیلدهای ورودی به عنوان پارامترهایی برای دستورات SQL استفاده کنند. اگر ورودی های کاربری به درستی صفحه بررسی نشوند، آنها میتوانند به سادگی دستورات SQL خود را در این فیلدها اجرا کنند. این کار به هکران اجازه میدهد تا به سادگی بتوانند به دیتابیس شما دسترسی پیدا کنند و اطلاعات حساس شما را دریافت کنند.
نوع های مختلف آسیب پذیری Server-Side
آسیب پذیری Server-Side
SQL Injection
در حمله SQL Injection، هکران از راهکارهای خاصی برای تزریق دستورات SQL غیرمجاز به سایت شما استفاده میکنند. این حمله به شما اجازه میدهد تا دستورات SQL غیرمجازی را اجرا کنید که ممکن است به نفوذ به دیتابیس شما و یا دسترسی غیرمجاز به اطلاعات حساس شما منجر شود.
-
Error-Based SQL Injection
در حمله Error-Based SQL Injection، هکران از فیلدهای ورودی سایت شما برای اجرای دستورات SQL غیرمجاز استفاده میکنند، اما با تفاوتی که در این نوع حمله وجود دارد، هکران به جای دریافت دیتای موردنظر، بر روی خطاهایی که ایجاد شدهاند توجه میکنند و بر اساس خطاها تصمیم گیری میکنند.
نحوه عملکرد Error-Based SQL Injection
در حمله Error-Based SQL Injection، هکران با استفاده از فیلدهای ورودی سایت شما، به دنبال ایجاد خطای SQL در دیتابیس هستند. آنها با ارسال فیلدهای دلخواه، سعی در اجرای دستورات SQL خود دارند، و در صورت بروز خطا، متوجه آن میشوند که دستور SQL غیرمجازی که ارسال کردهاند، اجرا شده است.
هکران با تحلیل خطاهایی که در این حمله ایجاد میشوند، به دنبال کشف اطلاعاتی مانند نام دیتابیس، نام جدول و مشخصات دیگر دیتابیس هستند. با دسترسی به این اطلاعات، آنها میتوانند به سادگی به اطلاعات حساس شما دسترسی پیدا کنند.
-
Union-Based SQL Injection
در حمله Union-Based SQL Injection، هکران با استفاده از فیلدهای ورودی سایت شما، به دنبال اجرای دستورات SQL غیرمجاز هستند. با این نوع حمله، هکران میتوانند اطلاعات حساس شما را بدست آورند، به عنوان مثال، اطلاعات حساب بانکی کاربران.
نحوه عملکرد Union-Based SQL Injection
در حمله Union-Based SQL Injection، هکران از دستور Union در SQL استفاده میکنند تا دادههای خود را با دادههای دیگر در دیتابیس ادغام کنند. برای این کار، هکران با استفاده از فیلدهای ورودی سایت شما، دستور SQL خود را به شکلی تغییر میدهند که دادههای موردنظر را بدون نیاز به دسترسی مستقیم به دیتابیس، به دست آورند.
با این نوع حمله، هکران به دنبال دسترسی به اطلاعات مهم هستند. با استفاده از دستورات Union، آنها میتوانند اطلاعات حساس شما را بدست آورده و استفاده کنند.
-
Blind SQL Injection
در حمله Blind SQL Injection، هکران با استفاده از فیلدهای ورودی سایت شما، به دنبال اجرای دستورات SQL غیرمجاز هستند. با این نوع حمله، هکران میتوانند اطلاعات حساس شما را بدست آورند، به عنوان مثال، اطلاعات حساب بانکی کاربران.
نحوه عملکرد Blind SQL Injection
در حمله Blind SQL Injection، هکران از نقاط ضعف در فیلدهای ورودی سایت شما استفاده میکنند تا دستورات SQL خود را اجرا کنند. اما در این نوع حمله، نتیجه اجرای دستورات SQL به صورت بلایند یا نامشخص برای هکران بازگشت داده میشود. بدین معنی که هکران نمیتوانند اطلاعات خاصی را مستقیماً از دیتابیس بخوانند، اما با استفاده از دستورات خاص، میتوانند اطلاعات حساس شما را به دست آورند.
Remote Code Execution
Remote Code Execution یا به اختصار RCE، نوعی از حملات امنیتی است که باعث اجرای کد از راه دور بر روی یک دستگاه هدف میشود. این نوع حملات بر روی وب سرورها و برنامههای وب بسیار رایج است.
با استفاده از RCE، هکران میتوانند از راه دور کد خود را در سیستم قربانی اجرا کنند و از آن به منظور دسترسی به اطلاعات محرمانه و یا نفوذ به سیستم استفاده کنند.
نحوه کار Remote Code Execution
در این نوع حملات، هکران از فیلد ورودی در برنامههای وب استفاده میکنند و کدهای خود را در آن قرار میدهند. اگر برنامهی وب، نتواند ورودی را به درستی فیلتر کند، کد نوشته شده توسط هکران، اجرا میشود و سیستم قربانی آسیب میبیند.
همچنین، هکران میتوانند با ایجاد شیلیها در دستورات زبان اسکریپتی، نظیر PHP و JavaScript، برنامههای خود را در سیستم قربانی اجرا کنند.
روشهای پیشگیری از حملات Remote Code Execution
برای جلوگیری از حملات RCE، میتوانید از فیلترینگ دادههای ورودی استفاده کنید تا از اجرای کدهای مخرب جلوگیری شود. همچنین میتوانید از بسترهای امنیتی مانند وب اپلیکیشن فایروال و همچنین ابزارهای امنیتی مانند وایت باکسینگ و سایر ابزارهای بررسی امنیتی استفاده کنید.
File Inclusion
آسیبپذیری File Inclusion یا به اختصار LFI (Local File Inclusion) و RFI (Remote File Inclusion)، نوعی از حملات امنیتی است که به کاربران مهاجم اجازه میدهد تا فایلهای دیگر را در برنامهی هدف باز کنند و از آنها استفاده کنند. این حملات بر روی سیستمهای وب بسیار رایج هستند و امنیت سیستم را به خطر میاندازند.
نحوه کار آسیبپذیری File Inclusion
در این نوع حملات، هکران با استفاده از فیلدهای ورودی در برنامههای وب و همچنین با استفاده از پارامترهای URL، سعی میکنند به فایلهای سیستم دسترسی پیدا کنند و آنها را اجرا کنند.
در حملات LFI، فایلهایی که در دستگاه میزبان محلی هستند، مثل فایلهای کانفیگ و لاگها، از طریق ورودیهای برنامهی وب مورد استفاده قرار میگیرند. هکران میتوانند با استفاده از فیلدهای ورودی، به فایلهای محلی دسترسی پیدا کرده و آنها را اجرا کنند.
در حملات RFI، هکران با استفاده از آدرسهای URL، سعی میکنند تا فایلهای خود را از سرورهای خود به برنامهی هدف منتقل کنند و آنها را اجرا کنند.
Local File Inclusion Vulnerability
Local File Inclusion (LFI) یک نوع آسیب پذیری امنیتی در برنامههای وب است که به هکر اجازه میدهد تا فایلهای موجود در سرور هدف را به صورت غیرمجاز مشاهده کند. در این حملات، هکر با درخواست فایلی با پارامترهای خاص به سرور مورد هدف، سعی در خواندن فایلهای سیستمی مانند فایلهای کانفیگ و پایگاه داده دارد. این آسیب پذیری معمولاً به دلیل عدم صحتسنجی صحیح پارامترهای درخواست ایجاد میشود.
در حملات LFI، هکر میتواند به صورت غیرمجاز به فایلهای موجود در سرور دسترسی پیدا کند و اطلاعات مهم را به دست آورد. هکر میتواند از اطلاعات به دست آمده در حملات دیگری استفاده کند و سرور مورد هدف را به خطر بیاندازد.
روشهایی که هکر برای بهرهبرداری از آسیب پذیری LFI استفاده میکند، شامل تزریق کد، دسترسی به فایلهای حساس سیستمی و یا دسترسی به فایلهای موجود در پوشههای سایت هستند. برای محافظت از سایت خود در برابر این آسیب پذیری، باید به درستی صحتسنجی پارامترهای درخواست شده توسط کاربر و اجرای فایلهای سرور در مسیرهایی که قابل دسترسی توسط کاربر نیستند، انجام شود.
نحوه کار آسیبپذیری Local File Inclusion Vulnerability
Local File Inclusion Vulnerability یک نوع آسیب پذیری سایبری است که در آن، هکر با استفاده از مسیر فایل برنامه، به اطلاعات حساسی که بر روی سرور قرار دارد، دسترسی پیدا می کند. این آسیب پذیری در سیستم هایی که از زبان PHP برای نوشتن کدها استفاده می کنند، بسیار رایج است.
برای به دست آوردن داده های حساس در یک آسیب پذیری Local File Inclusion، هکر از روشی استفاده می کند که از طریق آن، می تواند مسیر فایل را تغییر داده و فایل های حساس را دریافت کند. این روش با استفاده از پارامترهای ارسالی به سرور صورت می گیرد. هکر با تغییر پارامترهای ارسالی، می تواند مسیر فایل را به دلخواه خود تغییر دهد و در نتیجه، به فایل های حساس سرور دسترسی پیدا کند.
از جمله روش هایی که هکر برای به دست آوردن داده های حساس در آسیب پذیری Local File Inclusion می تواند استفاده کند، می توان به استفاده از کد PHP و یا فایل های موجود در سرور اشاره کرد. با تغییر مسیر فایل های PHP، هکر می تواند کدهای خود را اجرا کند و یا با دسترسی به فایل های موجود در سرور، به اطلاعات حساس دسترسی پیدا کند.
برای پیشگیری از آسیب پذیری Local File Inclusion، می توان از روش هایی مانند فیلترینگ والیدیشن ورودی ها و همچنین استفاده از تابع realpath در PHP استفاده کرد. همچنین، بهتر است فایل های حساس را در پوشه هایی با دسترسی محدود قرار داده و از استفاده از نام های فایل پیش فرض در سیستم های عامل خودداری کرد.
Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS) یکی از مهمترین و قابل توجهترین آسیبپذیریهای وب است که بسیاری از سایتهای وب تحت تاثیر قرار میگیرند. در XSS، مهاجم میتواند کد بد اجرا شونده را به صفحه وب اضافه کند و با استفاده از آن، کاربران سایت را به سمت یک سایت مخرب یا خطرناک هدایت کند.
هنگامی که یک سایت وب برای نمایش اطلاعات ورودی کاربر از زبانههای ورودی (input) استفاده میکند و این اطلاعات را به کاربر برمیگرداند، امکان دارد که یک مهاجم با قرار دادن کد بد در آن زبانه ورودی، بتواند کد خود را به صفحه وب اضافه کند. این مسئله میتواند تبدیل به یک مسئله جدی شود زیرا کاربران معمولا از اعتماد به نمایش داده شده در صفحه وب برای انجام تراکنشهایی مانند ورود به حساب کاربری خود استفاده میکنند.
یکی از راههایی که مهاجمان میتوانند از آن در XSS استفاده کنند، استفاده از کوکیها است. اگر یک سایت وب کوکیهای خود را در یک فایل جداگانه ذخیره کرده باشد، مهاجم میتواند از یک آسیبپذیری لوکال فایل وصل شود به فایل کوکی و بعد از آن، این فایل را برای دسترسی به کوکیهای سایت وب استفاده کند.
به طور کلی، حملات Cross-Site Scripting میتوانند باعث آسیب رساندن به سیستم وب، سرقت اطلاعات کاربران و حتی سوء استفاده از حساب کاربری آنها شوند. برای پیشگیری از این نوع حملات، باید از روشهای ایمنی همچون فیلتر کردن والیدیشن دادههای ورودی استفاده شود.
نحوه کار آسیبپذیری Cross-Site Scripting
آسیبپذیری Cross-Site Scripting یا XSS، هنگامی رخ میدهد که مهاجم با قرار دادن کد اسکریپت در یک وب سایت، باعث اجرای کد مخرب در مرورگر کاربران میشود. این کد مخرب میتواند از طریق فرمها، نظرات، جستجوی سایت و غیره به صورت پنهانی در صفحات وب قرار گیرد. به عبارت دیگر، مهاجم میتواند با ارسال دادههایی شامل کدهای مخرب به وب سایت، باعث اجرای آن کدها در مرورگر کاربران شود. این کار باعث شده که مهاجم بتواند کوکیها، رمزهای کاربری و اطلاعات حساس دیگر کاربران را بدست آورد و برای اهداف خود استفاده کند.
برای حملات XSS یک مقاله کامل برای شما نوشتیم، اگر میخواهید در این خصوص بیشتر بدانید، میتوانید از لینک این مقاله را بخوانید.
Cross-Site Request Forgery (CSRF)
Cross-Site Request Forgery (CSRF) یک نوع حمله در امنیت وب است که در آن، مهاجم با فریب کاربر، یک درخواست مخرب را از طریق مرورگر کاربر، به سرور مقصد ارسال میکند. در این نوع حمله، مهاجم با ارسال یک لینک یا یک فرم مخرب، کاربر را به انجام یک عمل خاص در سایت وب تشویق میکند. این عمل میتواند درخواستی به سرور باشد که باعث تغییر یا حذف دادههای موجود در سایت شود.
در CSRF، مهاجم به دنبال برقراری یک جلسه بین کاربر و سرور نیست، بلکه فقط به دنبال ارسال درخواستهایی به سرور با مجوزهای کاربر است. بنابراین، برخلاف XSS که کدهای مخرب در محیط کاربر اجرا میشود، در CSRF کدهای مخرب برای ارسال درخواستها به سرور استفاده میشوند.
در نتیجه، اگر کاربر در هنگام ورود به سایت، قبلا در سایت دیگری باز بوده و هنوز جلسه آن باز است، مهاجم میتواند با استفاده از CSRF، درخواست مخربی را از طریق آن جلسه به سرور ارسال کند و دادههای موجود در سایت را تغییر دهد.
آسیبپذیری Cross-Site Request Forgery (CSRF) زمانی رخ میدهد که یک مهاجم قادر به ارسال درخواستهای خبیثانه به یک وب سایت مورد نظر کاربر باشد. به طور کلی، مهاجم درخواستهای جعلی را با استفاده از یک سایت مخرب میفرستد که از نظر کاربر به نظر یک سایت معتبر میرسد.
در حین انجام CSRF، مهاجم با ایجاد یک درخواست جعلی، کاربر را به انجام عملیاتی که مهاجم میخواهد، تشویق میکند. برای مثال، مهاجم میتواند یک لینک جعلی برای یک عملیات پرداخت بانکی به کاربر ارائه دهد و از کاربر درخواست کند تا بر روی لینک کلیک کند. با کلیک کردن بر روی لینک، درخواست جعلی به سرور ارسال میشود و عملیات پرداخت بانکی از طرف کاربر به صورت خودکار انجام میشود.
در صورتی که وب سایت مورد نظر اجازهی درخواستهای جعلی را بدهد، این مسئله میتواند جدی باشد و باعث بروز خسارت جدی در برابر کاربران وب سایت شود. بنابراین، بسیار مهم است که وب سایتها، برای جلوگیری از CSRF، از روشهایی مانند توکنهای CSRF و چک کردن Origin در درخواستهای POST استفاده کنند.
Authentication Bypass
Authentication Bypass به معنای دور زدن یا نادیده گرفتن مکانیزمهای احراز هویت در سیستمهای امنیتی و نرمافزارهاست. در این نوع حملات، مهاجم با استفاده از یک ضعف در سیستم یا کد نرمافزار، توانایی دسترسی به اطلاعات یا منابعی که برای کاربران دارای دسترسی مجاز محدود شده است، را پیدا میکند.
یکی از روشهای انجام این نوع حملات، استفاده از تزریق کد یا تغییر URL مربوط به صفحات مجاز است. به عنوان مثال، یک حمله Authentication Bypass میتواند با تغییر شناسه کاربری یا رمز عبور در فرم ورود به سیستم انجام شود. در نتیجه، مهاجم به سیستم وارد شده و قابلیت انجام عملیاتی که برای کاربران دارای دسترسی مجاز محدود شده است، را پیدا میکند.
در صورتی که یک سیستم احراز هویت قوی نداشته باشد، یا به دلیل اشتباهات پیادهسازی شده، به راحتی میتوان از Authentication Bypass به عنوان یک روش موثر برای نفوذ به سیستم استفاده کرد. بنابراین، ایجاد یک سیستم احراز هویت قوی و توسعه روشهایی برای جلوگیری از این نوع حملات، امری حیاتی برای افزایش امنیت سیستمها و نرمافزارها است.
نحوه کار آسیبپذیری Authentication Bypass
آسیبپذیری Authentication Bypass به صورتی رخ میدهد که یک مهاجم توانایی دسترسی به سیستم را بدون داشتن مجوزهای لازم دارد. بطور کلی، موارد زیر میتوانند باعث وقوع این نوع آسیبپذیری شوند:
1. استفاده از پسورد ضعیف: در صورتی که پسوردی که توسط کاربر برای ورود به سیستم استفاده میشود، ضعیف باشد، مهاجم میتواند با تست کردن پسوردهای شناخته شده، به راحتی به سیستم دسترسی پیدا کند.
2. تزریق SQL: در صورتی که سیستم از یک سیستم مدیریت پایگاه داده استفاده میکند و ورودیهای کاربر را به درستی بررسی نکند، مهاجم میتواند با تزریق دستورات SQL، دسترسی به حساب کاربری دیگری را به دست آورد.
3. اجرای کدهای مخرب: در صورتی که سیستم وب اجازه اجرای کدهای JavaScript را برای همه ورودیهای کاربری میدهد، مهاجم میتواند با اجرای کد خود، به سیستم دسترسی پیدا کند.
در کل، استفاده از این نوع آسیبپذیری میتواند باعث دسترسی غیرمجاز مهاجم به سیستم شود و میتواند خطرات جدی برای امنیت و حریم خصوصی کاربران و سیستمهای مورد استفاده ایجاد کند.
Insecure Cryptographic Storage
آسیبپذیری Insecure Cryptographic Storage یکی از مهمترین آسیبپذیریهای امنیتی در سامانههای نرمافزاری است که در صورت بروز آن، میتواند منجر به دسترسی غیرمجاز به اطلاعات حساس شود. این آسیبپذیری به معنی ذخیره سازی نامناسب و غیرامنیتی اطلاعات مربوط به رمزنگاری در پایگاه داده است.
در این آسیبپذیری، اطلاعات مربوط به رمزنگاری مانند رمزهای عبور، کلیدهای رمزگذاری و مشخصات کاربری در پایگاه داده به صورت رمزنگاری نشده یا با الگوریتمهای ضعیفی رمزنگاری میشوند. بنابراین، در صورت دسترسی به پایگاه داده توسط مهاجمان، آنها میتوانند به سادگی اطلاعات رمزگذاری شده را باز کنند و به اطلاعات حساس دسترسی پیدا کنند.
به عنوان مثال، فرض کنید یک سامانه بانکی به کاربران اجازه دسترسی به حساب خود از طریق یک نام کاربری و یک رمز عبور میدهد. در صورتی که این سامانه از الگوریتم ضعیفی برای رمزنگاری اطلاعات استفاده کند، هکرها میتوانند با دسترسی به پایگاه داده، رمزهای عبور کاربران را به راحتی باز کنند و به حساب بانکی آنها دسترسی پیدا کنند.
نحوه کار آسیبپذیری Insecure Cryptographic Storage
آسیبپذیری Insecure Cryptographic Storage به وقوع میپیوندد زمانی که رمزنگاری اطلاعات به نحوی انجام نمیشود که در برابر حملات کرایهگران مقاوم باشد. در بسیاری از موارد، اطلاعاتی که باید رمزگذاری شوند، در پایگاه داده یا فایلهای قالب ذخیره میشوند اما رمزنگاری درستی بر روی آنها اعمال نمیشود. به عبارت دیگر، مهاجمان میتوانند به راحتی به دادههای محافظت نشده دسترسی پیدا کنند.
یکی از روشهای مهم حملات به آسیبپذیری Insecure Cryptographic Storage، بهکارگیری تکنیک Hashing است. هش کردن یک فرایند امنیتی است که هدف آن تبدیل داده به یک مجموعه از حروف بیمعنی است که نمیتوان به آن داده اصلی را بازگرداند. در اینجا مهمترین نکته این است که هشهای تولید شده برای دادهها باید بسیار محکم باشند و برای مهاجمان بهعنوان پلنگ بسیار دشوار باشد تا آنها را بشکنند.
از دیگر روشهای حمله به آسیبپذیری Insecure Cryptographic Storage، بهکارگیری تکنیک Encryption است. با استفاده از رمزنگاری، دادههای محرمانه را با رمزی رمزگذاری میکنند تا بهراحتی قابل دسترسی نباشند. با این حال، اگر این رمزگذاری نامناسب انجام شود و مهاجمان به راحتی به رمز عبور دسترسی پیدا کنند، دیگر امنیت دادههای شما تامین نخواهد شد.
بسیاری از برنامههای کاربردی از رمزنگاری برای حفظ امنیت اطلاعات حساسی مانند گذرواژهها و اطلاعات کارت اعتباری استفاده میکنند. با این حال، اگر این رمزنگاری به درستی انجام نشود، اطلاعات محافظت نشده خواهند بود و قابلیت دسترسی برای مهاجمان را بهخود اختصاص میدهند. این آسیبپذیری به عنوان Insecure Cryptographic Storage شناخته میشود.
در این نوع آسیبپذیری، اطلاعات محرمانه بهطور نادرستی ذخیره میشوند، بهطوری که مهاجمان با دسترسی به فایلهای ذخیرهشده در سیستم، به راحتی میتوانند به اطلاعات رمزگذاریشده دسترسی پیدا کنند و آنها را باز کنند. در برخی موارد، مهاجمان میتوانند از طریق حملات Man-in-the-Middle و مسیریابی دور زمینه به این اطلاعات دسترسی پیدا کنند.
یکی از نمونههای مشهور آسیبپذیری Insecure Cryptographic Storage، ذخیرهسازی گذرواژهها در فایلهای متنی غیررمزگذاری شده است. در این حالت، اگر مهاجمان به فایل دسترسی پیدا کنند، میتوانند بهراحتی گذرواژهها را بخوانند و از آنها بهطور سوءاستفاده کنند.
Server Misconfiguration
آسیبپذیری تنظیمات اشتباه سرور (Server Misconfiguration) یکی از مشکلات امنیتی شایع در سایتها و برنامههای وب است که باعث افزایش خطر دسترسی غیرمجاز به اطلاعات میشود. این آسیبپذیری به دلیل اشتباهات در تنظیمات سرور، به مهاجمان اجازه میدهد تا به اطلاعات حساسی که بر روی سرور ذخیره شدهاند، دسترسی پیدا کنند.
بیشتر تنظیمات امنیتی سرور از طریق فایلهای تنظیمات (مانند فایل htaccess در سرورهای Apache) انجام میشود. اگر این فایلها به درستی تنظیم نشوند، مهاجمان میتوانند به راحتی از آن استفاده کنند و به اطلاعات سرور دسترسی پیدا کنند. همچنین، یکی دیگر از مسائلی که میتواند باعث ایجاد آسیبپذیری در تنظیمات سرور شود، بروزرسانی نکردن سیستمعامل، برنامههای سرور و کتابخانههای استفاده شده در سایت یا برنامهی وب است.
با ایجاد تنظیمات امنیتی مناسب و بروزرسانی به موقع سیستمعامل، برنامههای سرور و کتابخانهها، میتوان از این نوع آسیبپذیری جلوگیری کرد. همچنین، برای تست امنیتی سرور، میتوان از ابزارهایی مانند Nmap و OpenVAS استفاده کرد تا آسیبپذیریهای موجود را شناسایی کرد و رفع کنیم.
نحوه کار آسیبپذیری Server Misconfiguration
آسیب پذیری Server Misconfiguration به وقوع میپیوندد زمانی که تنظیمات سرور به درستی انجام نشده و یا اجازه دسترسی به منابع سیستم به صورت نادرست تنظیم شده باشد. مهاجمان میتوانند با استفاده از این آسیب پذیری، اطلاعات مهم را از سیستم به دست آورده و یا برنامههای ضعیف را به کار برده و به سرور وارد شوند.
یکی از روشهای مورد استفاده مهاجمان برای بهرهبرداری از این آسیب پذیری، استفاده از نرمافزارهای امنیتی مانند Nmap و Nessus است. این نرمافزارها میتوانند به صورت خودکار تنظیمات سرور را اسکن کرده و نقاط ضعف و آسیب پذیریهای سیستم را شناسایی کنند.
مهاجمان میتوانند نیز با استفاده از تکنیک فوتپرینتینگ، اطلاعات مربوط به سیستم را به دست آورده و با تحلیل این اطلاعات به سرور وارد شوند. در این روش، مهاجمان سعی میکنند به صورت خودکار تعداد زیادی درخواست به سرور ارسال کنند و با تحلیل پاسخهای دریافتی از سرور، به نقاط ضعف سیستم پی ببرند.
علاوه بر این روشها، در برخی موارد مهاجمان میتوانند از روشهایی مانند تزریق کد و یا بررسی نام کاربری و رمز عبور برای دسترسی به منابع سرور استفاده کنند.
Arbitrary File Upload
آپلود خودسرانه فایل (Arbitrary File Upload) یک نوع آسیبپذیری وب است که در آن مهاجم قادر است به صورت غیرمجاز فایلهای مخرب را به سرور بارگذاری کند. این آسیبپذیری معمولا به دلیل عدم صحتسنجی و یا نادرستی در بخش آپلود فایلهای کاربران رخ میدهد. در بسیاری از موارد، این آسیبپذیری به دلیل ضعفهای در نرمافزارهای مدیریت محتوا، انجام میشود.
این نوع حمله به سایت میتواند موجب بارگیری و اجرای کد مخرب در سرور شود، که میتواند منجر به سوءاستفاده از اطلاعات حساس کاربران شود. در موارد دیگر، این حمله میتواند به زوایای دیگری مانند دسترسی به فایلهای محرمانه سرور یا حتی به کنترل سایت و تغییر فایلهای آن منجر شود.
برای پیشگیری از این نوع آسیبپذیری، باید در بخش آپلود فایلها، صحتسنجی و بررسی محتوای فایلهای بارگذاری شده صورت گیرد و همچنین باید استفاده از ماژولهای امنیتی و فایروالهای وب مورد استفاده قرار گیرند.
نحوه کار آسیب پذیری Arbitrary File Upload
آسیبپذیری Arbitrary File Upload زمانی رخ میدهد که برنامهای به کاربر اجازه میدهد فایلهای بدون اعتبار و مخرب را بارگذاری کند. به عبارت دیگر، در این آسیبپذیری، مهاجم میتواند فایلهای بدون اعتباری را در سرور بارگذاری کند و با استفاده از آنها، به سرور دسترسی پیدا کند و عملیات مخربی را انجام دهد. بهعنوان مثال، مهاجم ممکن است فایلهای اجرایی را بارگذاری کند و سپس آنها را اجرا کند، یا از طریق آنها به فایلهای حساس دسترسی پیدا کند و آنها را دزدیده یا تغییر دهد.
برای خواندن مقالات بیشتر در خصوص امنیت به این لینک کلیک کنید.