آشنایی با آسیب پذیری های تحت وب

دسته‌بندی:
بدون دیدگاه

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

به توضیح یه سری آسیب پذیری های وب میپردازیم و با آنها آشنا میشیم:

1) Injection :

حملات تزریق یا اینجکشن زمانی رخ میدهد که برنامه های کاربردی تحت وب بدون اعتبار سنجی و انجام آنالیز روی query ها یا داده های ورودی ، اقدام به پردازش داده های وارد شده میکنند ، بسیاری از حملات رایج تزریق رو در زیر لیست شده اند:

پرس و جو های Structured Query Language) SQL)

پرس و جو های Lightweight Directory Access Protocol) LDAP)

پرس و جو های XML Path Language) XPATH)

2) Cross-Site Scripting) XSS) :

در این حمله کد های سمت کلاینت همچون جاوا اسکریپت به سایت تزریق میشوند و هدف اصلی هکر ها کاربرانی هستند که به سایت مراجعه کرده اند. در حقیقت هکر ها در این نوع از حمله ، اطلاعات کاربران سایت را بدون آگاهش آنها به سرقت میبرند.به زبانی ساده تر این آسیب پذیری، به هکر اجازه میدهد تا آنها اسکریپت هایی مانند Java-Script یا VB-Script روی مرورگر کلاینت ها اجرا کنند; مانند ربودن نشست کلاینت ها و هدایت آنها به سوی سایت های آلوده و … این حمله به 2 نوع هست :

Non-Persistent) Reflected): این روش در هر لحظه از حمله ، تنها برای یک درخواست اعتبار دارد. به زبان ساده تر میتوان گفت رابطهی ایجاد شده بین نفوذگر و قربانی ها ، به صورت (1:1) یک به یک است.مثلا ارسال یک لینک آلوده از طریق ایمیل به کاربر که حاوی یک اسکریپت مخرب است.

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

3) Cross-Site Request Forgery) CSRF) :

این حمله به XSRF نیز مشهور است ، نفوذگر در این حمله کاربری که وارد برنامه تحت وب شده را مجبور به ارسال یک درخواست به نرم افزار وب آسیب پذیر میکند تا عملیات دلخواه نفوذگر را انجام دهد. برای مثال ، اگر کاربر به طور همزمان وارد ایمیل خود و حساب بانکی اش شده باشد ، هکر یا نفوذ گر ، برای کاربر ایمیل ارسال میکند و بیان میکند که اطلاعات بانکی او نیاز به به روز رسانی از طریق یک پیوند دارد، و کاربر با کلیک بر روی یک پیوند یا لینک بدون آنکه آگاه باشد ، دستور انتقال وجه از حساب بانکی اش به حساب بانکی دیگری را به صورت خودکار برای نرم افزار بانک فرستاده و در این لحظه اگر نرم افزار بانک فاقد مکانیزم های اعتبار سنجی باشد ، درخواست ارسال شده ، حتما پردازش خواهد شد.امروزه برای جلوگیری از این گونه حملات ، از شناسه های معتبر (Valid-Tokens) پیچیده ، طولانی و تصادفی استفاده میشود.

4) Broken-Authentication & Session Management :

گاهی به خاطر عدم پیاده سازی درست توابع در بخش هایی مانند مدیریت نشست ها ، توکن ها ، اعتبارنامه ها ، هویت سنجی استفاده کنندگان ، سطوح دسترسی و… باعث میشود هکر از چنین حفره های امنیتی برای دست یابی به اطلاعات مهم افراد سوء استفاده کند.!

5) Insecure-Direct-Object-References) IDOR) :

این نوع از آسیب پذیری ها زمانی رخ میدهد که توسعه دهنده ، بدون پیاده سازی مکانیزم های کنترل سطح دسترسی و… ، دسترسی منبع/منابع  به  شئ/اشیاء داخلی برنامه یا سیستم را نا آگاهانه باز میدارد.هکر با دستکاری مقادیر چنین ارجاعاتی میتواند به داده های مهم برنامه ی وب یا سرور دسترسی غیر مجاز به دست آورد.

6) Sensitive-Data-Exposure :

بسیاری از برنامه های کاربردی تحت وب از اطلاعات حساسی مانند اطلاعات اعتبار سنجی کاربران ، اطلاعات کارت بانکی ، اعتبار نامه ها ، و… به درستی محافظت نمیکنند هکر با ربودن این اطلاعات قدر به سوء استفاده از آن ها و ایجاد خرابکاری خواهد بود.اطلاعات محرمانه و مهم، نیازمند تدابیر محافظتی ویژه ای است که از آن جمله میتوان به رمز نگاری اطلاعات در زمان تبادل اطلاعات با مرورگر ها اشاره نمود.

7) Missing-Function-Level-Access-Control :

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

8) Componnents-with-know-Vulnerabilities :

مولفه هایی مانند کتاب خانه ها ،فریم ورک ها و دیگر ماژول های نرم افزاری ، معمولا با سطح دسترسی کامل اجرا میشوند.اگر در یکی از این مولفه ها آسیب پذیری افشا شود، باعث به دست آوردن دسترسی به سرور و تخریب اطلاعات خواهد شد.نرم افزار هایی که از این گونه مولفه ای دارای آسیب پذیری های شناخته شده استفاده میکنند ، امکان رخ دادن حملات گشترده ای رو فراهم میسازند.

9) Security-Misconfiguration :

برقراری امنیت نیازمند تعریف و استقرار پیکر بندی مناسب در نرم افزار ها، فریم ورک ها ، وب سرور ها ، بانک های اطلاعاتی، سیستم عامل ها و … می باشند.تنظیمات امنیتی میبایست تعریف ، پیاده سازی و نگه داری شود همچنین نرم افزار ها باید به روز نگه داری شوند.

10) Unvalidated-Redirects-and-Forwards :

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

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

  • نویسنده
    نویسنده
  • تعداد بازدید
    373 views
0دیدگاه فرستاده شده است.
شما هم دیدگاه خود را بنویسید