باگ rfu یا Remote File Upload چیه؟ خودمونی بگم زمانی این باگ پیش میاد که شما می خواهید چیزی اپلود کنید به سایت مورد نظرتون مثال: مثلا شما می خواهید عکس پروفایلتون رو عوض کنید خوب تا اینجا که مشکلی نیست.
مشکل از جایی شروع میشه که برنامه نویس اون سایت هیچ فیلتری برای اپلود کردن نذاشته.
یا اگر هم گذاشته باشه یه فیلتری ساده که میشه دورش زد.
حالا بیاید ببینیم چه فیلتر هایی تو اپلود فایل می زارن
1_Blacklist
تو این روش میان پسوند های غیر مجاز تعریف می کنن مثال سرور چک میکنه پسوند فایل اپلودی مارو و اگه پسوند فایل php بود اجازه اپلود نمی ده و میگه عکس اپلود کنید این یه مثال ساده روش بایپس:
Backslash : test.php/
Semicolon : shell.php;.jpg
و غیره... زیاده تو اینترنت سرچ کنید
2_while_list
این دقیقا برعکس روش بالاست تو این روش میان یه لیست از پسوند های مجاز تعریف می کنن
3_Content-Type
تو این روش میان شناسه فایل رو نگاه می کنن
واسه فیتر چه کارا میشه کرد
علاوه بر کاز های بالا این کار هارو هم انجام بدین
1 بعد از این که فایل اپلود شد اسم فایلو رو عوض کنید یه مثال ساده با پی اچ پی
$filename = md5(uniqid()) . $fileExtension;
2 مسیر اپلو فایل هارو عوض کنید
سرورو تون رو هم ئرست کانفیگ کنید
از اجرایی نبودن فایل ها اطمینان حاصل کنید
این لینک هارو هم نگاه کنید واسه اطلاعات بیشتر