Loading…

جزیره امنیت اطلاعات و ارتباطات

ارسال کننده: ramint16
بیشتر توی فیلد امنیت ، بخش Pentest کار میکنم ... +MCSَA CEH , CCNA ، ECSA ، CHFI ، AWAPT ، Security ، علاقه مند به امنیت ...مشغول به انجام پروژه های امنیت ... هر مطلبی که مربوط به شبکه و امنیت باشه ازش لذت می برم و با علاقه دنبال میکنم ...
ارسال پیام خصوصی
امتیازات این مطلب
نکته: معرفی آسیب پذیری Local File Inclusion یا LFI ( قسمت اول )
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> 
تصویری از نتیجه به صورت کد شده در بالای صفحه 

||https://tosinso.com/resources/images/6a10f4c2ec444c3295660e453e4fae1a||

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

||https://tosinso.com/resources/images/dcc9a8be01404506b93c1be3b8f161bf||

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


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

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

هیچ دیدگاهی برای این مطلب ارسال نشده است

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