Remote file upload

Remote file upload۹باگ rfu یا همان Remote file upload به معنی آپلود فایل های غیرمجاز به سرور در جهت دستیابی به دسترسی کامل به سرور می باشد. این باگ از آنجایی به وجود می آید که برنامه نویس و توسعه دهنده های پلتفرم، مجاز بودن فایل آپلودی توسط کاربر را بررسی نمیکنند و یا اینکه تمامی فرد نفوذگر با دور زدن validation های وبسایت فایل مخرب یا شل را آپلود میکند.بطور عمده محدودیت ها و روش هایی که توسعه دهندگان در جهت جلوگیری از آپلود فایل غیر مجاز استفاده میکنند عبارتند از : 1 – blacklist در این روش لیستی از پسوند ( extension) های غیر مجاز را سرور بررسی میکند..php,.asp,.روش بایپس:Double extension: shell.php capital letter: shell.pHP, shell.aSpSemicolon : shell.php;.jpgBackslash : test.php/2- white listدر این روش برخلاف روش قبل سرور بررسی میکند که پسوند فایل یکی از پسوند های مجاز باشد بطور مثال در قسمت آپلود عکس برای پروفایل کاربری سرور یکی از extension های زیر را قبول میکند Jpg png gif jpeg, …روش بایپس:Double extension:shell.png.phpNull byte: image.php .png3 – Content-type validationشناسه فایل در صورتی که image/jpeg باشد اجازه آپلود داده میشود در غیر این صورت ، برای آپلود فایل دسترسی داده نمیشود .روش بایپس: ابتدا درخواست را شنود میکنیم و پیش از ارسال به سرور شناسه را به شناسه مجاز تغییر میدهیم.4.content lenth Validationحجم فایل آپلودی محدود میشود و در صورتی که بالاتر از حجم مورد نظر بطور مثال ۱۰۰ کیلوبایت باشد آپلود صورت نمیگیرد.روی بایپس: با یک پیلود ساده این مشکل برطرف میشود : <?php
if($_GET[‘c’]) {
system($_GET[‘c’]);
}
?>در اکثر مواقع سرور ترکیبی از این بررسی های امنیتی را انجام میدهد و ما باید انواع بایپس ها را امتحان‌کنیم.همچنین امکان تبدیل باگ rfu به چندین باگ دیگر نیز وجود دارد : با نام‌گذاری فایل بصورت ../../logo.pngباگ Directory traversal پدید می آید .sleep(10).jpg SQL injection <svg =alert(document.domain)> XSS

Author: admin

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *