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

انواع باگ

در این اموزش به معرفی و اشنایی انواع باگ های وب سایت ها و وب اپلیکیشن به صورت کامل میپردازیم با ما همراه باشید.

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

باگ چیست ؟

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

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

وب اپلیکیشن چیست ؟

اشنایی با وب اپلیکیشن
اشنایی با وب اپلیکیشن و انواع باگ ان

شما نرم افزاری کاربردی را تصور کنید که بر روی سیستم عامل خود ان را نصب کرده و از ان استفاده می کنید و قطعا این اپلیکیشن دارای باگ هایی است که در هر بروز رسانی تعدادی از این باگ ها رفع یا به اصطلاح پچ می شوند و به کاربر ارائه می کنند

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

انواع باگ ها

باگ SQLI

یکی از مهم ترین انواع باگ SQL Injection
اشنایی با یکی از مهم ترین انواع باگ SQL Injection

باگ SQLI که مخفف SQL Injection است به معنای تزریق کد های SQL است

که این اسیب پذیری یکی از باگ های خطرناک و بسیار رایج است که باعث می شود نفوذگر به دیتابیس سایت دسترسی پیدا کند و درنهایت به عنوان ادمین سایت لاگین کند و کوئری های خود را در دیتابیس وارد کند که این باگ گستردگی بسیار زیادی دارد و سایت های زیادی همچنان دارای این باگ خطرناک هتسند

منطق این باگ به این صورت است که با استفاده از کوئری مخرب  ,اطلاعات دیتابیس را بیرون می کشند

و میتوانند از انها استفاده کنند که در این باگ می توانید به سه روش اقدام به خواندن اطلاعات دیتابیس کنید

سه متد باگ SQLi

  • union 
  • error
  • blind

بیشتر از روش union البته با توجه به اسیب پذیری استفاده می شود که دراموزش های قبل اموزش هایی مرتبط با روش union قرار داده ایم و می توانید مشاهده نمایید و لازم به ذکر است که روش های باگ sqli گستردگی بسیار زیادی دارد زیرا ممکن است در هر مرحله , فایروال ها ، CDN و … از تزریق کد جلوگیری کنند و باید برای هر مرحله ان به بایپس های مربوطه اگاه و مسلط باشید.

اشنایی بیشتر با SQL Injection

همانطور که از نام ان پیداست مربوط به پایگاه داده است

و این حمله از طریق تزریق کدهای SQL در پایگاه داده از طریق ورودی رخ می دهد.

وجود این باگ در تمامی پایگاه داده ها مانند MariaDB,Microsoft SQL,Oracle,My SQL و … وجود دارد

و این اسیب پذیری هیچ ربطی به ضعف این پایگاه داده ها ندارد بلکه این باگ همان طور که گفته شد توسط اشتباهات برنامه نویس در زبان های PHP , ASP و دیگر زبان های تحت وب و سمت سرور است و گاهی این مشکل با کانفیگ غیر استاندارد سروربیشتر وب سایت را دچار اسیب پذیری میکند و به کاربر اجازه مقدار دهی و اجرا دستورات پایگاه داده را از طریق ورودی می دهد.

اهداف باگ:
اهداف این باگ متفاوت است. وقتی که شما بتوانید دستورات پایگاه داده را از طریق URL اجرا کنید تقریبا
هر کاری میتوانید انجام دهید .سرقت یوزرو پسورد ادمین و کاربران ، سرقت و تغییر تمامی محتوا سایت، دیفیس کردن سایت و …

  هک واتساپ را چگونه انجام میشود ؟ + راه های مقابله

باگ XSS

باگ XSS یا Cross Site Scripting یک باگ سطح کلاینت است

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

تصور کنید وارد سایتی می شوید که دارای  فیلد جستجو است و زمانی که عبارتی را در ان جستجو می کنید

و ان  عبارت در سایت چاپ  می شود و هیچ محدودیتی بر روی کارکتر های دیگر اعمال نشده باشد احتمال وجود باگ در سایت وجود دارد اما دقت کنید که فقط یک  احتمال است و این چاپ شدن ممکن است در هرجایی از سایت امکان پذیر باشد  , ممکن است در قسمت اصلی سایت یا حتی در URL یا حتی در Header سایت باشد

آشنایی بیشتر انواع باگ XSS

به تصویر زیر توجه کنید

تست باگ XSS
تست باگ XSS از ورودی جستجو

مشاهده می کنید که عبارت وارد شده در فیلد جستجو در قسمت URL و سورس سایت چاپ شده

و این به این معنی است که عبارت وارد شده توسط نفوذگر داخل سورس سایت قرار گرفته است  و عبارت وارد شده توسط نفوذگر که در سورس چاپ شده است خوانده شده و اجرا می گردد ولی تصور کنید که به جای استفاده از کلمات ساده و معمولی از کدهای جاوا اسکریپت و html استفاده کنید و یک کد برای برداشتن کوکی ها را داخل فیلد جستجو وارد کنید و بر روی دکمه جستجو کلیک کنید و به محض لود شدن سایت کد در سورس سایت قرار گرفته و اجرا می شود و باعث گرفتن دسترسی از کاربران دیگی یا در مواردی حتی ادمین هم می شود

نکته :

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

باگ LFI

باگ LFI که مخفف local file inclusion است زمانی به وجود می اید که برنامه نویس سایت از تابع هایی مانند include که برای فراخوانی صفحات وب است استفاده کرده باشد و کاراکتر های غیرمجاز ازجمله ( . ) و ( / )   فیلتر نکرده باشد

در این صورت نفوذگر می تواند فایل مهمی همچون فایل :

/etc/passwd/

که شامل یوزرنیم و پسورد های سایت می باشد را  فراخوانی کند.

باگ RFI

اشنایی با باگ lfi یکی از اصلی ترین اسیب پذیری ها در انواع باگ ها
اشنایی با باگ lfi یکی از اصلی ترین اسیب پذیری ها در انواع باگ ها

این اسیب پذیری یکی دیگر از انواع باگ ها است که مخفف remot file inclusion می باشد

این باگ تقریبا مشابه LFI است با این تفاوت که باگ LFI به صورت محلی و لوکال است

و می توان فایل های مهم را فراخوانی کرد اما باگ RFI به صورت ریموت می باشد

تصور کنید یک صفحه دیفیس یا یک شل اسکریپت را بر روی یک هاست اپلود کرده اید و حال قصد دارید تا ان صفحه مورد نظر که در هاست اپلود کرده اید را بر روی سایتی که باگ RFI دارد اپلود و استفاده کنید و دقت کنید که فایل شما باید حتما پسوند TXT باشد اما نگران نباشید زمانی که فایل را بر روی سایت مورد نظر که باگ RFI دارد اپلود کردید کامپایلرهای HTML و PHP به صورت خودکار صفحه شما را کامپایل کرده و کد را اجرا کرده و نتیجه را به شما نمایش میدهند

برای استفاده از این باگ باید ادرس دقیق اینترنتی صفحه مورد نظر خود را در محل درستی در URL  قرار دهید و سپس Enter کنید اما امکان دارد تا مکانیزم های امنیتی جلوی اپلود شل شما را بگیرند که می توانید به راحتی صفحه دیفیس خود را اپلود کنید پیشنهاد میکنید برای اشنایی بیشتر با این اسیب پذیری اموزش باگ RFI را مشاهده کنید.

  پسورد های 4 رقمی ، ضعیف و بسیار شکننده

باگ RFU یکی دیگر از انواع باگ های مهم

باگ RFU  که مخفف remot file upload می باشد به نفوذگر این اجازه را می دهد تا بتواند فایل های خود را از جمله شل اسکریپت و صفحات دیفیس خود با استفاده از اپلودر اسیب پذیر اپلود کند که البته ممکن است به محدودیت هایی برخورد کند اما می تواند از روش های مختلف برای بایپس ستفاده کند و مکانیزم های امنیتی مانند فایروال را دور بزند

این باگ که به اختصار RFU & RFD   نام دارد به کاربر اجازه آپلود و دانلود فایل را می دهد.
باگ معروف DNN (سیستم مدیرت محتوا مایکروسافت)، از نوع RFU بود.

اهداف باگ:
آپلود فایل مخرب و دیفیس سایت، دانلود فایل هایی که هکر اجازه دسترسی ندارد.

باگ RCE

باگ RCE مخفف remot code execution است که این قابلیت را در اختیار نفوذگر قرار می دهد

تا بتواند دستورات PHP یا دستورات سیستم را در ورودی سایت وارد کند و مستقیم به سرور دسترسی داشته باشد

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

باگ CSRF

اسیب پذیری CSRF

CSRF یکی از انواع باگ های مهم و مخفف CROSS SITE REQUEST FORGERIES است

زمانی به وجود می اید که برنامه نویس سایت Session های ایمنی تعریف نکرده باشد و موجب شود تا یک حفره امنیتی بزرگ به وجود بیاید که اکثر سایت ها توانایی ایمن کردن خود در برابر این حفره امنیتی را ندارند به همین دلیل این حفره را ملقب به غول حفره می نامند

این باگ همانند باگ XSS یک باگ سمت کلاینت است و نفوذگر توانایی جعل درخواست را دارد

و می تواند با استفاده از این باگ یک user با سطح دسترسی ادمین برای خود ایجاد کند

باگ Page Admin

با استفاده از این باگ نفوذگر می تواند صفحه ادمین را دور بزند و بدون داشتن نام کاربری و رمز عبور به راحتی وارد پنل مدیریت شود به صورتی که در فیلد نام کاربری و رمز عبور عبارت ‘or”=’ را وارد کرده و به صفحه مدیریت وارد می شود که این مسئله با به اشتباه انداختن دیتابیس به وجود می اید و از زیر مجموعه های باگ SQLi است

منطق این باگ به صورتی است که زمانی که ادمین نام کاربری و رمز عبور خود را در فیلد مربوطه وارد می کند

ان عبارت به دیتابیس فرستاده شده و اگر عبارت با نام کاربری و رمز عبور اصلی مطابقت داشته باشد

به ان عبارت مقدار (true) داده می شود و ادمین وارد پنل مدیریت می شود

اما زمانی که نفوذگر کدی که بالاتر به شما کاربران معرفی کردیم را در فیلد مربوطه وارد کند

زمانی که این کد به دیتابیس فرستاده شد مقدار (true) را دریافت می کند زیرا این کد خود به معنای true است

خلاصه و اشنایی با انواع باگ ها

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

نکته دیگر اینکه باگ ها را بر اساس متد دسته بندی میکنند. برای مثال اگر باگی در WordPress پیدا شود که اجازه دهد نفوذگر دستورات CMD یا Terminal مورد نظر خود را اجرا کند، در اسن صورت اسیب پذیری در زیر دسته باگ RCE قرار میگیرد.

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

پایدار باشید.

5/5 ( 1 نظر )

نیما حسینی هستم بنیان گذار تیم پن تست کور ، مدرس دوره های تست نفوذ و امنیت

مطالب مرتبط

شل معکوس

شل معکوس با استفاده از ابزار revshellgen

در این آموزش ابزاری بسیار حرفه ای با امکانات فوق العاده برای گرفتن شل معکوس به نام revshellgen معرفی می کنیم با ما در ادامه این آموزش هک و امنیت همراه باشید 4/5 ( 1 نظر )   اموزش باگ RCE در وب اپلیکیشن ها

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

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