MrHidd3n
MrHidd3n
خواندن ۲ دقیقه·۴ سال پیش

باگ RFU

سلام دوستان میخوایم در مورد باگ RFU صحبت کنیم و ببینم این باگ چیه و چجوری میشه با استفاده از این باگ به سایت نفوذ کرد.

در قدم اول میپردازیم به اینکه باگ RFU چیه؟

  • RFU
مخفف remote file upload که همونطور که از اسمش مشخصه زمانی که ما بخواهیم یک فایلی رو روی سرور اپلود کنیم و هیچ نظارتی برروی فایل اپلودی ما وجود نداشته باشه این باگ بوجود میاد و عمدتا به خاطره برنامه نویسی غلطه و نفوذگر میتونه هر فایل دلخواهی و با هر مشخصاتی روی سرور اپلود کنه و اجرا کنه و همچنین اگر محدودیتی وجود داشت بتونه اونو دور بزنه و فایل خودشو اپلود کنه که در ادامه به این دور زدن یا همون بایپس میپردازیم.

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

برای شروع اموزش فرض کنید ما تو یه سایتی ثبت نام میکنیم و وارد اکانت خودمون میشیم که در قسمت مشخصات کاربری ما میتونیم عکسی رو برای پروفایلمون بزاریم که هیچ نظارتی روش نیست و در صورت اسیب پذیر بودن ما میتونیم در این قسمت به جای اینکه بیایم و عکس اپلود کنیم میایم و شل (شل کد های مخربی که بیشتر به زبان php نوشته شده ) خودمونو اپلود میکنیم و دسترسی کامل از سایت میگیریم و اگر سطح دسترسی پایینی داریم میتونیم سطح دسترسی رو بالا ببریم با استفاده از راهایی که وجود داره و اون سایت رو دیفیس کنیم یا تغییراتی روی اون انجام بدیم.
  • در مواقع دیگه ما محدودیت برای اپلود داریم و نمی تونیم هر فایلی رو اپلود کنیم، مثلا ما فایلی به غیر از این پسوند ها که مربوط به عکسمون هست رو نمیتونیم اپلود کنیم
( .png , .jpg , .jpeg , .bmp)

به قولی برنامه نویس میاد بلک لیست و وایت لیست میزاره و چک میکنه که اگر فایل پسوندش یکی از این پسوند های زیر بود قبول نکن

( .exe , .html , .php , ...)
  • یا محدودیت سایز داشته باشه و نزاره فایل بیشتر از 500kb اپلود کنیم.

راه کار برای دور زدن این محدودیت ها

  • برای دور زدن محدودیت ها ما میایم و درخواست هایی که به سمت سرور ارسال میشه رو تغییراتی توش ایجاد میکنیم و دوباره ارسال میکنیم.
  • با استفاده از ابزار Burp Suite یا افزونه فایرفاکس live HTTP headers میایم و درخواست رو عوض میکنیم و‌دوباره ارسال میکنیم .

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

برای مثال :

shell.php >> (shell.jpg,shell.png,shell.php;png,shell.php.jpg)


change request
change request


بعد با ابزار burp suite اونو اسنیف میکنیم و اسم فایل رو به حالت اول که همون shell.php و قسمت content-type رو به application/php تغییر میدیم.

و برای دور زدن سایز در همون قسمت سایز رو بیشتر میکنیم و ارسال میکنیم و بعد از اینکه فایل به درستی اپلود شد کافیه که به ادرس فایلمون بریم و از شلمون استفاده کنیم D:

امیدوارم که از این مقاله لذت برده باشید...


rfubug
شاید از این پست‌ها خوشتان بیاید