RFU مخفف remote file upload
به معنی اپلود فایل از راه دور ، این باگ در اپلودرهای اسیب پذیر ایجاد میشه. به طور مثال تارگت ما یک قسمت برای اپلود عکس با پسوندهای jpg,png داره ولی ما میایم اپلودر رو دور میزنیم به صورتی که بتونیم شل خودمون را با پسوند php اپلود کنیم .. برای اینکار نیاز به بایپس داریم که اینکار روش های مختلفی داره که میخوایم به اون بپردازیم.
نکته: هدف ما اپلود فایل php هست شما میتونید این روش هارو روی پسوند مورد نظر اجرا کنید.
در این روش برنامه نویس لیستی از پسوند های غیر مجاز را تعریف میکنه مثلا میگه فایل هایی که پسوند php دارن اجازه اپلود بهشون نده..
روش های بایپس:
1. شما میتونید در پسوند فایل از حروف بزرگ کوچیک استفاده کنید به طور مثال php را به صورت (“phP”, “pHp”,”pHP”,”Php”,”PHP”,”PhP”,”PHp”,”pHp”) تغییر دهیم البته این روش تقریبا هیجوقت جواب نمیده چون برنامه نویس با ی دستور پسوند فایل رو به حروف کوچک تغییر میده..
2. استفاده از پسوند های دیگه php مثل
(“php3”, “php4”, “.php5”, “.php6”, “.pht”, “.phpt”, “.phtml”)
خب این روش به صورتی هست که برنامه نویس فایل هایی که میتونه اپلود بشه رو تعریف میکنه مثل jpg,png.
روش های بایپس:
1. تغییر نام فایل که روش های مختلفی داره بعضیاشو براتون مینویسم:
file.php;.jpg (working on iis6)
file.php;jpg
file.php:.jpg
file.php.jpg
file.php%00.jpg
file.php%00
file.php%20
file.php.....
file.php\
file.php.\
fileeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.php
اینجا سرور میاد cotent-type رو اعتبار سنجی میکنه.
برای بایپس این روش ما میایم هدر content-typeرا تغییر میدیم و بعد ریکوئست را ارسال میکنیم
content-type: image/jpeg
در این روش سرور سایز چک میکنه که میتونید از شل های را اپلود کنید .