در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آسیب پذیری LFI ( قسمت دوم و پایانی )

PHP ZIP Wrapper LFI

ZIP Wrapper اجازه می دهد که فایل .zip را که سمت سرور است اجرا کنید و مهاجم با استفاده از این قابلیت و فایل آپلود آسیب پذیر ، می تواند فایل .zip خود را که شامل فایل های مخرب است ، از فیلتر سایت رد کند و LFI را اجرا کند .

مثال برای این نوع اتک :

1 – ابتدا یک Reverse shell ایجاد میکنیم .

2 – آن را با .zip فشرده میکنیم .

3 – این فایل زیپ را در یک سرور آپلود می کنیم .

4 – با استفاده از Zip Wrapper ، به صورت زیر فایل خود را در سرور مورد نظر آپلود می کنیم :

php?page=zip://path/to/file.zip%23shell

5 – این دستور ، فایل zip ما را در سرور extract می کند ، اگر سرور مورد نظر پسوند .php را به فایل اضافه نمی کند ، خودتان پسوند .php را به فایل shell اضافه کنید .

اگر سرور مورد نظر اجازه آپلود فایل zip را ندهد ، باید با روش های Bypass کردن آپلود جلو برویم .

Null Byte Technique

به کد زیر توجه کنید:

<?php
  include($_GET["page"] . ".php");
?>

در کد بالا اگر ورودی کاربر home باشد، تابع include فایل home.php را فراخوانی می کند. یعنی هر چیزی را وارد کنیم ، پسوند .php به آن اضافه می شود ، بدین ترتیب اگر ما دستوری مانند etcpasswd را قرار دهیم، تابع فایل etcpasswd.php را فراخوانی خواهد کرد که چون چنین چیزی وجود ندارد ، ما چیزی را نخواهیم دید . در این حالت از روش Null Byte استفاده خواهیم کرد.

vuln.php?page=/etc/passwd%00
vuln.php?page=/etc/passwd%2500

در شرایطی که کد به شکل زیر است از ترکیب Directory traversal و Null byte استفاده می کنیم :

 <?php
  include("./pages/" . $_GET["page"] . "/index.php");
?>

روش دور زدن :

/vuln.php?page=../../../../etc/passwd%00

Truncation LFI Bypass

Truncation تکنیک Bypass دیگری است که در آن مهاجم با اضافه کردن پارامتر های بلند Bypass را انجام میدهد ، بدین صورت که وب اپلیکیشن پارامتر های وارد شده را کوتاه می کند که ممکن است بتوان فیلتر پارامتر های ورودی را دور زد .

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

Log File Contamination

Log File Contamination یک فرآیندی است که در آن سورس کد های خود را در فایل لاگ سرور inject می کنیم . این کار را با روش های دیگر انجام می دهیم که که نتیجه در لاگ فایل ذخیره می شود ، مثلا php Reverse shell کد خود را در url ، inject می کنیم که باعث می شود syslog یک لاگ در قسمت access log آپاچی ایجاد کند با عنوان 404 Not Found و اتکر با استفاده از روش های گفته شده برای LFI به access log دسترسی پیدا می کند و کد php reverse shell خود را اجرا می کند .

بعد از inject کردن کد خود ، باید بتوان به فولدر لاگ ها دسترسی پیدا کرد که به طور معمول ، ابتدا وب سرور را تشخیص داده سپس مسیر پیش فرض برای لاگ را چک می کنیم . اگر در مسیر پیش فرض نبود ، می توانید از FuzzDB’s Burp LFI payload lists استفاده کنید . اگر این لیست ها را با استفاده از Burp Intuder چک شود ، سریع تر نیز میتوان به نتیجه رسید .

همچنین در وب سرور های apache و Nginx می توان با استفاده از netcat عمل inject را انجام داد .

EmailaReverseShell

اگر سیستم هدف ، ایمیل را مستقیما یا به وسیله یک سیستم دیگر در یوزر www-data ( یا یوزر آپاچی ) ذخیره کند ، میتوان یک Reverse Shell را به هدف ایمیل کرد . اگر رکورد MX موجود نباشد اما SMTP در دسترس باشد ، می توان به میل سرور هدف متصل شد و ایمیلی برای یوزر www-data apache فرستاد .ایمیل به یوزر آپاچی مثل www-data فرستاده می شود تا مطمئن شویم که فایل سیستم اجازه خواندن فایل varspoolmail/www-data که شامل PHP Revesre shell کد می باشد را دارد .

در تصویر زیر مجاهم از اسکریپت smtp-user-enum استفاده کرده تا مطمئن شود یوزر www-data در سیستم هدف موجود است .

آسیب پذیری LFI ( قسمت دوم و پایانی )

در تصویر زیر می بینیم که مهاجم چگونه با استفاده از تلنت به یوزر www-data ایمیل می فرستد .

آسیب پذیری LFI ( قسمت دوم و پایانی )

در این تصویر می بینیم که چگونه به فایل مورد نظر که حاوی Reverse Shell است متصل می شده است :

آسیب پذیری LFI ( قسمت دوم و پایانی )

در این تصویر نیز نتیجه Reverse Shell ایمیل شده را با listener netcat می بینیم .

آسیب پذیری LFI ( قسمت دوم و پایانی )

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

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

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

#آسیب_پذیری #آسیب_پذیری_local_file_inclusion #معرفی_local_file_inclusion #معرفی_آسیب_پذیری_lfi #آسیب_پذیری_lfi #خطرات_php_wrapper
0 نظر

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

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....