RFU =>Remote File Upload

RFU =>Remote File Uploadیک باگ بسیار مخرب در سطح وب اپلیکیشن هاست که به وجود آمدن آن در یک آپلودر نا امن است….در ادامه بیشتر با این باگ آشنا می شویم:وقتی پرونده ای به سمت سرور آپلود میشوند اگر آلوده باشد باید هکر راهی برای اجرای آنها پیدا کند و معمولا این نوع پرونده ها یک شل است…عواقب بارگذاری این پرونده ها که محدودییتی روی آن نیست می تواند متفاوت باشد. از جمله تصرف کامل سیستم ، سیستم پرونده یا پایگاه داده بیش از حد مجاز ، حملات حمل و نقل به سیستم های back-end ، حملات سمت مشتری یا آسیب رساندن ساده این بستگی به این دارد که شل چگونه عمل کند و در کجا آپلود شود!!!1. Blacklisting Bypass:با تغییر حروف فایل می توان لیست سیاه را دور زد. مثلا php را با حروف کوچک و بزرگ بنویسیم مثل PHp یا برای مثلا از این نوع بایپس ها استفاده کنیم:
pht ، phpt ، phtml ، php3 ، php4 ، php5 ، php62. Whitelisting Bypass:بایپس های لیست سفید را دور بزنیم مثلا سرور از ما image.jpeg را قبول می کند و ما با استفاده از بایپس ها آن را دور بزنیم مثلا شل ما alfa.php هست و سرور آن را از ما قبول نمی کند و ما با استفاده از ترفند هایی باید آن را دور بزنیم:
1.به جای alfa.php بگذاریم alfa.php.jpeg (اینجا سور از ما jpeg را می خواند ولی سرور php را اجرا می کند)
2.می توانیم از بایپس دیگری استفاده کنیم و بیاییم alfa.php%2500.jpeg را قرار دهیم تا فایل ما آپلود شود(برای سایت هایی که نوع اول را فیلتر کردند میتواند جواب گو باشد)نکته:در سایت هایی که با iis نوشته شده اند در نسخه های قدیمی میتوانستیم با (;) بایپس کنیم مثل:alfa.php;jpeg البته در ورژن های قدیمی جواب گو هست3. Content-type Validation:سرور های یک mime type دارند که به این صورت است:
Content-Type: application/octet-stream
و ما می توانیم آن را با ایمیل جایگزین کنیم و به این صورت بنویسیم:
content-type: image/jpeg
در این حالت سرور را مجبور می کنیم که از ما قبول کند4. Content length Validation:می توان سرور را با استفاده از یک پیلود گول بزنیم مثل:
( <?=`$_GET[x]`?> ) دور بزنیم5.sizeاگر به اندازه فایل ایراد گرفت می توان سایز را تغییر دهید و به جای 10000b که قابل آپلود است بگذاریم 100000b بایپس های کوچکی که باید به آنها دقت بیشتری داشته باشیم:1.برای سایت های آپاچی می تواند پسوند php را با حروف کوچک و بزرگ مثل PhP دور زد2.برای سایت های iis میتوان پسوند asp را به asa و cer تغییر دهیم و فیلترینگ را دور بزنیم3.از نال استفاده کنیم مانند alfa.php%00.gif یا alfa.php%001.gif 4…نتیجه کلی از این نوع باگ آسیب پذیر:هرگز بدون نداشتن فیلتر در لیست سفید ، نام پرونده و پسوند آن را مستقیماً نپذیرید.برای جلوگیری از این نوع حملات ، اندازه پرونده را به حداکثر مقدار محدود کنیددایرکتوری بارگذاری شده نباید اجازه “اجرا” داشته باشدبه افراد خاص و محدودی باید اجازه آپلود داده شود

Author: admin

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

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