درخواست های ارتباط
جستجو تنظیمات
لیست دوستان من
صندوق پیام
همه را دیدم تنظیمات
  • در حال دریافت لیست پیام ها
صندوق پیام
  • در حال دریافت لیست رویدادها
همه رویدادهای من

معرفی آسیب پذیری Local File Inclusion یا LFI ( قسمت اول )

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

Image


http://example.com/vuln.php?page=/etc/passwd

آسیب پذیری LFI به راحتی قابل تشخیص و بهره برداری می باشد . هر اسکریپتی که شامل یک فایل از وب سرور باشد ، مثال خوبی برای تست LFI می باشد .
/script.php?page=index.html
یک مهاجم ممکن است با دستکاری آدرس به این صورت تلاش کند که از آسیب پذیری استفاده کند .
/script.php?page=../../../../../../../../etc/passwd
در زیر نیز یک مثال از بهره برداری موفق آمیز از آسیب پذیری LFI در یک وب سرور را می بینیم ( در این مثال از فریم ورک آسیب پذیر dvwa استفاده شده است )

Image


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

PHP Expect Wrapper


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

php?page=expect://ls
PHP file:// Wrapper
دستورات به صورت POST به سمت سرور ارسال می شوند :
/fi/?page=php://input&cmd=ls

Image


Image


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
<text>
Image


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

نویسنده : رامین محسن شهیر
منبع : Exploit-db و گروه گوردبیت
برچسب ها
مطالب مرتبط
نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید

    arrow