آسیب پذیری RFU یا Remote File Upload یک آسیب پذیری در سطح وب میباشد که باعث میشود که یوزر فایل غیرمجاز رو توی اون سرور یا وب سایت آپلود کند.
فایل هایی که یوزر در وبسایت آپلود میکند خطر قابل توجهی برای وبسایت ها و وب سرور ها دارد.
نکته : این آسیب پذیری بیشتر بررویه CMS های آماده و غیر امنی که بیشتر عموم و یا مراجع دولتی استفاده میشوند یافت میشود.
قدم اول برای بسیاری از این نوع حملات این است که اتکر یا همان هکر مقداری کد را روی سیستم مورد نظرش را اجرا کند تا بتواند حمله را پیش ببرد.
استفاده از آپلود فایل ناخواسته میتواند به قدم اول برای حمله کمک کند.
عواقب این فایل های نخواسته که بر روی سرور یا وبسایت برای دسترسی گرفتن از سرور آپلود میشود میتواند متفاوت باشد.
برای مثال :
انجام این حمله و تبعات آن بستگی به این دارد که اپلیکیشن با فایل هایی که اپلود میشود چه کاری را انجام میدهد یا فایل ها در کجا ذخیر میشوند.
با توجه به مطالب گفته شده این حمله به دو روش میتواند انجام شود :
برای جلوگیری از این حمله یکسری مکانیزم برای وف وجود دارد که باعث میشود که هر نوع فایلی در قسمت اپلود فایل، نتوان اپلود کرد.
نکته : Web Application Filter یا به اختصار WAF سیستمی است که بین فایروال و وب سرور قرار گرفته و از ورود ترافیک های مشکوک به وب سایت و از حملات به سایت های وب سرور جلوگیری و آن هارا Block میکند.
برخی از این مکانیزم ها عبارت اند از :
در این نوع مکانیزم وف پسوند یا امضائ فایل را بررسی میکند تا غیر از فایل های ذکر شده یا مجاز فایل
غیره آپلود نشود.
در این نوع مکانیزم Content-Type محتوایی که آپلود میکنیم معمولا شناسایی و کنترل میشود
در این مکانیزم زمانی که Policy Settings خوب Configure نشده باشد یوزر یا اتکر میتواند جایی که شل
اپلود میشود را ببیند یا مسیری که شل اپلود میشود را تغییر دهد.
در این مکانیزم محتوای مربوط به فایل همراه با امضائ فایل یا پسوند کنترل میشود
در این مکانیزم وف فایل های مجاز و فایل هایی که محتوی کد های مخرب هستند را تشخیص میدهد.
با توجه به مطالب بالا هرکدام از این مکانیزم های ذکر شده،باعث جلوگیری از آپلود فایل های مخرب بر رویِ وب سایت یا وب سرور میشوند.
ولی با کمی فکر کردن و تحلیل میتوان فهمید که این مکانیزم ها هرکدام مشکلاتی را در بر دارند که باعث میشود که این مشکلات را بتوان دور زد یا به اصطلاح (Bypass) کرد.
برخی از این روش های بایپس را در زیر با توجه به مطالب بالا ذکر میکنم.
ایجاد یک فایل مجاز،کپچر کردن ترافیک ها،تغییر دادن کد های مخرب برای اجرا
تغییر Content-Type به طور مستقیم که میتوانیم MIME های مجاز را در نظر بگیریم
تغییر فرم چندبخشی حساس به اطلاعات
انوع رایج MIME
.html text/html
.xml text/xml
.txt text/plain
.rtf application/rtf
.pdf application/pdf
.word application/msword
.png image/png
.gif image/gif
.jpeg,.jpg image/jpeg
.au audio/basic
mid,.midi audio/midi,audio/x-midi
.ra, .ram audio/x-pn-realaudio
.mpg,.mpeg video/mpeg
.avi video/x-msvideo
.gz application/x-gzip
.tar application/x-tar
application/octet-stream
میتوان فایل ها را به دو روش shell.php%00.jpeg یا به روش shell.php.jpeg
با توجه به مطالب بالا جلوگیری از اپلود کردن فایل مخرب در اپلودر های وب سایت هم روش های زیادی و ساده ایی دارد که به طور ساده چند نمونه را در زیر ذکر میکنم
Writen By : MadAngel :)