Amin0nt
Amin0nt
خواندن ۱ دقیقه·۴ سال پیش

Remote File Upload

RFU


RFU مخفف remote file upload

به معنی اپلود فایل از راه دور ، این باگ در اپلودرهای اسیب پذیر ایجاد میشه. به طور مثال تارگت ما یک قسمت برای اپلود عکس با پسوندهای jpg,png داره ولی ما میایم اپلودر رو دور میزنیم به صورتی که بتونیم شل خودمون را با پسوند php اپلود کنیم .. برای اینکار نیاز به بایپس داریم که اینکار روش های مختلفی داره که میخوایم به اون بپردازیم.

روش های محافظت از اپلود فایل های غیر مجاز و روش دور زدن انها:

نکته: هدف ما اپلود فایل php هست شما میتونید این روش هارو روی پسوند مورد نظر اجرا کنید.

· Deny Listing File Extensions:

در این روش برنامه نویس لیستی از پسوند های غیر مجاز را تعریف میکنه مثلا میگه فایل هایی که پسوند php دارن اجازه اپلود بهشون نده..

روش های بایپس:

1. شما میتونید در پسوند فایل از حروف بزرگ کوچیک استفاده کنید به طور مثال php را به صورت (“phP”, “pHp”,”pHP”,”Php”,”PHP”,”PhP”,”PHp”,”pHp”) تغییر دهیم البته این روش تقریبا هیجوقت جواب نمیده چون برنامه نویس با ی دستور پسوند فایل رو به حروف کوچک تغییر میده..

2. استفاده از پسوند های دیگه php مثل

(“php3”, “php4”, “.php5”, “.php6”, “.pht”, “.phpt”, “.phtml”)

· Allow Listing File Extensions:

خب این روش به صورتی هست که برنامه نویس فایل هایی که میتونه اپلود بشه رو تعریف میکنه مثل 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


· “Content-Type” Header Validation:

اینجا سرور میاد cotent-type رو اعتبار سنجی میکنه.

برای بایپس این روش ما میایم هدر content-typeرا تغییر میدیم و بعد ریکوئست را ارسال میکنیم

content-type: image/jpeg

· Content-Size Validation:

در این روش سرور سایز چک میکنه که میتونید از شل های را اپلود کنید .

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