Knowledgebase

كيفية تنظيف هجوم رمز

  • كيفيه تنظيف هجوم الرمز, إدخال نص برمجي, منع عرض موقعك بشكل صحيح
  • 0

سنناقش في هذه المقالة كيفية تنظيف رمز أو إدخال نص برمجي قد يكون حدث في موقعك على الويب مما يؤدي إلى محاولة تحميل محتوى ضار لزائريك ، أو منع عرض موقعك بشكل صحيح.

عادة ما يتم تنفيذ حقن الكود بواسطة مهاجم يقوم بتحميل نص PHP shell إلى حسابك ، إما من خلال تعريض بيانات اعتماد FTP الخاصة بك ، أو عن طريق استغلال برامج قديمة عادة ما تكون قد قمت بتشغيلها على موقع الويب الخاص بك.

فيما يلي خطوات لتنظيف حقن نصي واسع الانتشار حدث على موقع WordPress.يمكننا أن نعلم أن شيئًا ما حدث خطأ لأننا عندما حاولنا عرض الموقع اليوم كان مجرد عرض صفحة فارغة ، وعندما دخلنا للتحقيق ، كان من الواضح أن حقن الشفرة قد حدث.
 
كيفيه تنظيف هجوم الرمز
 
 
  • تسجيل الدخول إلى الخادم الخاص بك عبر SSH.
     
     
  • انتقل إلى دليل المستخدم / public_html مع موقع الويب المخترق باستخدام الأمر التالي:
     

    cd ~userna5/public_html/

  • الآن افتح صفحة فهرس المواقع ، في هذه الحالة index.php باستخدام محرر النص vim باستخدام الأمر التالي:
     

    vim index.php

  • يجب أن يكون واضحًا جدًا في الجزء العلوي من هذا الملف أنه كان هناك نص برمجي ، عادة ما تكون إحدى علامات الحكاية التي تشير إلى إدخال النص البرمجي هي وجود دالة base64_decode مذكورة ، خاصة إذا كانت موجودة في الجزء العلوي من مجموعة من النصوص البرمجية.
     

     

    ستحتاج إلى نسخ النص الذي يبدأ من eval (base64_decode والاستيلاء على أول 10 أحرف أو أكثر ، في معظم عملاء SSH ، ما عليك سوى إبراز النص الذي سينسخه إلى الحافظة.
     

    vim-viewing-base-64-decode-string

  • ستحتاج الآن إلى كتابة الأمر التالي باستخدام النص الذي قمت بنسخه من / public_htmldirectory:
     
     

    grep 'eval(base64_decode("DQplcnJvcl' ./ -Rl > HACKS

    سيستغرق هذا بعض الوقت لإكمالها حيث ستبحث جميع ملفاتك عن تلك السلسلة ، وستضعها في ملف يسمى HACKS.
     
  • الآن باستخدام ملف HACKS هذا في حلقة ، نريد إنشاء نسخة احتياطية من كل برنامج نصي تم حقنه مع اللاحقة -HACKED باستخدام الأمر التالي في حالة التخلص من الحقن الذي يحدث لالتقاط أي كود جيد عن طريق الخطأ:
     
     

    for hackFile in `cat HACKS`; do cp -frp $hackFile $hackFile"-HACKED"; done

  • الآن يمكننا استخدام الحلقة نفسها ، ولكن هذه المرة باستخدام أمر sed لاستبدال حقنة الشفرة لكل ملف أصلي:

    for hackFile in `cat HACKS`; do sed -i 's#<?php.*eval(base64_decode("DQplcnJvcl.*));#<?php#' $hackFile; done

 
 ما تقوم به هذه الأوامر هو استخدام علم -i لاستبدال في مكان ما ، الجزء # هو أن نقول أننا نقوم باستبدال السلاسل ، مع الرمز # هو محدد الأوتار.

الجزء التالي هو اللدغة التي نريد استبدالها ، ويبدأ بـ <؟ php ثم نستخدم. * لتوضيح أي حرف على الإطلاق ، يليه eval (base64_decode ("DQplcnJvcl وهو جزء من الحقن الذي قمنا بنسخه في وقت سابق ،ثم تنتهي في نهاية المطاف مع آخر. * للاستيلاء على كل ما تبقى من النص حتى أخيرا الجزء الأخير من السلسلة)) ؛ واجه.

بعد العبارة الثانية ، نضع السلسلة التي نريد استبدال السلسلة الأولى بها ، في هذه الحالة <<php> فقط ، ثم ننتهي من الأمر sed بـ # آخر ثم نضع $ hackFile بعد
الأمر sed الكامل حيث سيكون اسم ملف الملف الحالي في الحلقة.

 
 
حاول الآن تحميل موقعك مرة أخرى ونأمل أن يعود إلى طبيعته. اعتمادا على شدة حقن الشفرات في بعض الأحيان ، لن يكون ذلك كافيا لتنظيفها ، ولكن في معظم الحالات ، يجب أن يحدث هذا في الحيلة.
 
 

Was this answer helpful?