تا %60 تخفیف خرید برای 4 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

LFI چیست؟ معرفی آسیب پذیری Local File Inclusion قسمت 1

Local File Inclusion (LFI) به مهاجم این اجازه را می دهد که از طریق مرورگر ، فایل های خود را در سرور قرار بدهد .این آسیب پذیری وقتی به وجود می آید که وب سایت ورودی ها را به درستی چک نمی کند و اجازه می دهد که مهاجم ورودی را دستکاری و کاراکتر های پیمایش مسیر را وارد کند و فایل هایی را در سرور قرار دهد . مثال یک کد آسیب پذیر در این مثال به دلیل محدود نشدن کاربر در ورودی صفحه ، می تواند فایل های دیگر موجود در آنجا را فراخوانی کند و در صورتی که محدودیت های دسترسی در سیستم نباشد ، میتوان به عنوان مثال فایل etc//passwd را فراخوانی کرد .

وب سایت توسینسو
http://example.com/vuln.php?page=/etc/passwd

آسیب پذیری LFI به راحتی قابل تشخیص و بهره برداری می باشد . هر اسکریپتی که شامل یک فایل از وب سرور باشد ، مثال خوبی برای تست LFI می باشد .

/script.php?page=index.html

یک مهاجم ممکن است با دستکاری آدرس به این صورت تلاش کند که از آسیب پذیری استفاده کند .

/script.php?page=../../../../../../../../etc/passwd

در زیر نیز یک مثال از بهره برداری موفق آمیز از آسیب پذیری LFI در یک وب سرور را می بینیم ( در این مثال از فریم ورک آسیب پذیر dvwa استفاده شده است )

وب سایت توسینسو

زبان php یک سری wrapper هایی دارد که به ما اجازه می دهد یک سری فیلتر ها را دور بزنیم .

PHP Expect Wrapper

Php Expect به ما اجازه می دهد که دستورات سیستمی وارد کنیم . مثال :

php?page=expect://ls
PHP file:// Wrapper

دستورات به صورت POST به سمت سرور ارسال می شوند :

/fi/?page=php://input&cmd=ls
وب سایت توسینسو
وب سایت توسینسو
PHP php://filter

به مهاجم این امکان را می دهد که به صورت Base 64 کد ها را ارسال کند ، بنابراین برای دیدن نتیجه باید Decode شوند .

مثال :

vuln.php?page=php://filter/convert.base64-encode/resource=/etc/passwd 
<text> 
تصویری از نتیجه به صورت کد شده در بالای صفحه 

||http://tosinso.com/files/get/6a10f4c2ec444c3295660e453e4fae1a||

تصویری از Decode  شدن کد تصویر قبل 

||http://tosinso.com/files/get/dcc9a8be01404506b93c1be3b8f161bf||

همچنین php://filter می تواند بدون کدینگ Base64 نیز استفاده شود : 
?page=php://filterresource=etc/passwd

 

وب سایت توسینسو

امیدوارم تا اینجا مفهوم LFI و تکنیک Wrapper جا افتاده باشد ، در قسمت های بعدی با انواع دیگری از LFI ها ، از جمله : ZIP wrapper ها ( ارسال Shell با استفاده از فایل zip ) تکنیک Null Byte Truncation Bypass و ... آشنا خواهیم شد که جذاب هستند :)

نویسنده : رامین محسن شهیر

منبع : Exploit-db و گروه گوردبیت

نظر شما
برای ارسال نظر باید وارد شوید.
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

افرادی که این مطلب را خواندند مطالب زیر را هم خوانده اند