یک روز ، یک جمله ...

امروز به هر کاری که قراره انجام بدی، باور داشته باش

07 آبان

امنیت و راه های مقابله با نفوذ - بخش سوم مطلب ویژه

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

 

بررسی دیتابیس های یک وب سایت
به منظور اینکه بدانیم یک وب سایت دارای چند دیتابیس است می توانیم از طریق دستور زیر اقدام به کسب اطلاعات دیتابیس ها نماییم:

group_concat(column_name) > group_concat(schema_name)
from+information_schema.tables > from+information_schema.schemata

و مابقی دستور را از انتهای URL پاک می کنیم.

حال برای بررسی هر کدام از دیتابیس های به دست آمده، در مرحله ای که می خواستیم اطلاعات Table ها را به دست آوریم، در انتهای دستور به جای database() می توانیم از حالت HEX شده دیتابیس مدنظر استفاده نماییم.

استفاده از Page Source :

در برخی موارد، بعد از به دست آوردن تعداد ستون های آسیب پذیر، در دستورات order+by ستون آسیب پذیر نمایش داده نمی شود. یکی از روش ها تغییر دایرکتوری بود که با استفاده از سایر صفحات وب سایت اقدام به بررسی می کردیم، اما راه دیگری نیز وجود دارد که از طریق آن می توان ستون آسیب پذیر را پیدا کرد. این روش استفاده از Page Source سایت می باشد. بعد از اجرای دستور order+by+… وقتی ستون آسیب پذیر نمایش داده نمی شود کافیست اعداد قرار داده شده در بعد از دستور order+by را به صورت تعداد بالا بنویسیم. بدین معنی که به جای عدد 1 بنویسیم 11111111 و به جای عدد 2 بنویسیم 222222 و به همین ترتیب تمام اعداد را بنویسیم. بعد از اجرای این حالت دستور قسمت Page Source صفحه را آورده و اعداد را در این صفحه جستجو نماییم. خطی که یکی از این اعداد را در خود جای داده است، جایی است که اطلاعات بعدی را نمایش می دهد و اعدادی که در این صفحه پیدا می شوند ستون های آسیب پذیر می باشند.

نکته: در بسیاری از موارد ممکن است سایتی که هدف شما می باشد، دارای باگ نبوده ولی نیاز است که این سایت مورد حمله قرار بگیرد. بدین منظور می توانید ابتدا بررسی کنید که این وب سایت بر روی یک هاست مشترک قرار داده شده است و یا به صورت اختصاصی بر روی یک سرور است. در صورتیکه بر روی هاست مشترک باشد، با یافتن آدرس IP این وب سایت و استفاده از Dork زیر که در سایت www.bing.com می بایست مورد استفاده قرار گیرد، می توانید سایت های دیگر این هاست را شناسایی و از طریق آنها اقدام به گذراندن مراحل نفوذ و در نهایت آپلود شل بر روی سرور نمایید.

Bing Dork: ip:”Your IP Address” php?id=

نکته: در برخی موارد ممکن است اطلاعات مربوط به ستون آسیب پذیر بر روی سربرگ وب سایت قرار داده شود!!

مرتب سازی Table های یک وب سایت:

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

group_concat(table_name) > group_concat((table_name) separator 0x3c62723e)

که در انتهای دستور بالا مقدار 0x3c62723e در واقع Hex شده دستور <br> می باشد.

نکته: در برخی موارد ممکن است در زمان استخراج ستون های آسیب پذیر با پیام خطای Fatal Error روبرو شویم. در این شرایط می بایست به جای اعداد یکی پس از دیگری به ترتیب مقدار null قرار دهیم تا زمانیکه این پیغام خطا حذف شود. باید مدنظر داشته باشید که این مقدار را می بایست فقط بر روری یک عدد قرار دهید. یعنی اگر بر روی 1 قرار دادید و پیغام خطا حذف نشد، مقدار 1 را به صورت عددی نوشته و مقدار 2 را به null تغییر دهید و تا انتهای مسیر همین شرایط را حفظ نمایید.

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

در وب سایت های طراحی شده با .Net یک روش وجود دارد که از طریق آن می توان اقدام به نفوذ به وب سایت کرد. نام این روش DotNetNuke می باشد. اگر وب سایتی از این ویژگی استفاده کرده باشد، شما می توانید با استفاده از باگ های موجود در این ویژگی اقدام به نفوذ به این وب سایت ها نمایید. به این منظور با مراجعه به وب سایت exploit-db و جستجوی عبارت DotNetNuke می توانید Exploit های شناسایی شده را ببینید. برای این کار یک روش را انتخاب کرده و توضیح می دهیم. استفاده از قابلیت آپلود فایل درون وب سایتی که از این ویژگی بهره برده است با استفاده از لینک زیر امکان پذیر است:

http://[PATH]/Providers/HtmlEditorProviders/Fck/fcklinkgallery.aspx

کافیست به جای مقدار [Path] آدرس وب سایت مورد نظر را قرار دهید. در صفحه باز شده، روی گزینه File کلیک کنید. در اینجا امکان آپلود فایل را به شما نمی دهد، برای این منظور مقدار زیر را به جای کل آدرس قرار داده و دکمه Enter را فشار دهید:

javascript:__doPostBack('ctlURL$cmdUpload','')

باید توجه داشته باشید که این عملیات باید در مرورگر اینترنت اکسپلورر انجام شود تا به مقدارهای جاوا اسکریپت حساسیت نداشته باشد. اطلاعات کامل را می توانید در بخش Exploit جستجو شده در وب سایت exploit-db.com مشاهده نمایید.

بررسی باگ LFI و RFI :

باگ  Local File Include و Remote File Include باگی است که ممکن است روی یک وب سایت تحت PHP وجود داشته باشد. به منظور بررسی این باگ باید وب سایت هایی را بررسی نمایید که انتهای URL آنها مقدار زیر باشد:

Index.php?page=

بعد از یافتن یک هدف، مراحل زیر را طی نمایید:

  • مقدار انتهایی وب سایت را از ?page= به بعد حذف کرده و ‘ را قرار دهید.
  • در صورتیکه وب سایت پیغام خطا داد احتمال وجود این باگ در این وب سایت وجود دارد.
  • حال برای ادامه روند مقدار etc/passwd را به جای ‘ قرار دهید.
  • اگر همچنان پیام خطا را مشاهده می نمایید باید مقدار ../etc/passwd را جایگزین مقدار قبلی نمایید.
  • در صورتیکه همچنان پیام خطا را مشاهده می نمایید باید مقدار ../ را باید به ابتدای مقدار قبلی اضافه نمایید. این مقدار باعث می شود تا وب سایت مسیر قبل تر را بررسی نمایید.

آشنایی با باگ حرفه ای CSRF :

باگ  Cross Site Request Forgery یا CSRF یک باگ جعل اسناد است که بر روی کوکی ها کار می کند. این روش به عنوان کرم تحت وب شناسایی شده است. تاثیر مخرب بر روی وب سایت دارد و قابلیت شناسایی توسط فایروال و وب سایت را ندارد. کوکی ها در واقع شناسه های سیستم ها در سطح دنیا می باشد. همانطور که می دانید در صورتیکه یک سرویس دهنده مانند Gmail اگر بر روی سیستم شما باز شود و شما نام کاربری و رمز عبور خود را وارد نموده و ذخیره کنید، یک کوکی برای شما ایجاد می شود که این کوکی بر روی دیتابیس سرویس دهنده نیز وجود دارد و از طریق آن شما را شناسایی می نماید. در کل این روش با XSS شباهت دارد اما نیازی نیست که منتظر ایجاد کوکی توسط ادمین یک وب سایت شویم. کافی است با جعل سند، خود را به عنوان ادمین معرفی نماییم.

به منظور آشنایی با این باگ می توانید از طریق سایت exploit-db.com اقدام به بررسی آن نمایید

رضا اردانه

مدیریت وب سایت آموزش دیجیتال

نظر دادن

خبرنامه

برای دریافت جدیدترین خبرهای سایت در خبرنامه عضو شوید