موصى به: تفسير التعليمات البرمجية العامة لهجوم حقن SQL في برامج ASP طلبات http العامة لحقن SQL ليست أكثر من مجرد الحصول على ونشر، لذا طالما أننا نقوم بتصفية جميع الأحرف غير القانونية في معلومات معلمات النشر أو الحصول على الطلبات في الملف، فيمكننا منع هجمات حقن SQL. يكون طلب الحصول الذي تم تمريره بواسطة IIS إلى asp.dll على شكل سلسلة. عندما يتم تمرير البيانات إلى Request.QueryString، سيقوم المحلل اللغوي لـ asp بتحليل Request.QueryString.
أولاً، نقدم بعض الميزات الافتراضية للمحرر:تسجيل الدخول الافتراضي admin_login.asp
قاعدة البيانات الافتراضية db/ewebeditor.mdb
كلمة مرور مسؤول الحساب الافتراضي admin أو admin888
ابحث في inurl:ewebeditor على بايدو/جوجل
هناك ما لا يقل عن بضعة آلاف من مواقع الويب التي تحتوي على ميزات افتراضية، لذا جرب الواجهة الخلفية الافتراضية.
http://www.xxx.com.cn/admin/ewebeditor/admin_login.asp
حاول تسجيل الدخول باستخدام الحساب الافتراضي وكلمة المرور.
خطوات الحصول على WebShell باستخدام eWebEditor هي كما يلي تقريبًا:
1. تأكد من أن الموقع يستخدم eWebEditor. بشكل عام، نحتاج فقط إلى الانتباه إلى ما إذا كانت الصفحة التي تم نشر المنشور (المقالة) بها أيقونة مميزة مماثلة، ويمكننا إصدار حكم تقريبي.
2. اعرض الكود المصدري وابحث عن مسار eWebEditor. انقر لعرض التعليمات البرمجية المصدر لمعرفة ما إذا كانت هناك عبارات مشابهة لـ <iframesrc='/edit/ewebeditor.asp?id=content&style=web'frameborder=0scrolling=nowidth='550'HEIGHT='350'></iframe> في الكود المصدري . في الواقع، فقط من خلال اكتشاف وجود مثل هذا البيان يمكننا التأكد حقًا من أن هذا الموقع يستخدم eWebEditor. ثم اكتب *** في src='***'، هذا هو مسار eWebEditor.
3. قم بزيارة صفحة تسجيل الدخول لإدارة eWebEditor. صفحة الإدارة الافتراضية لـ eWebEditor هي admin_login.asp، الموجودة في نفس الدليل مثل ewebeditor.asp. بأخذ المسار أعلاه كمثال، العنوان الذي قمنا بزيارته هو: http://www.***.net/edit/admin_login.asp لمعرفة ما إذا كانت صفحة تسجيل الدخول ستظهر أم لا.
إذا لم تشاهد مثل هذه الصفحة، فهذا يعني أن المسؤول قد حذف صفحة تسجيل الدخول للإدارة هاها، ماذا تنتظر؟ فقط غادر وحاول في مكان آخر. لكن بشكل عام، نادرًا ما أرى أي مسؤول يحذف هذه الصفحة. جرب اسم المستخدم الافتراضي: admin، كلمة المرور: admin888. ماذا عن ذلك؟ هل هو ناجح (يرجى مراجعة المقالة التالية إذا لم يكن الحساب الافتراضي)!
4. أضف أنواع ملفات التحميل. انقر فوق "إدارة النمط" وحدد أي إعداد للنمط في أسفل القائمة. لماذا يجب عليك تحديد النمط في أسفل القائمة؟ نظرًا لأنه لا يُسمح بتعديل الأنماط التي تأتي مع eWebEditor، يمكنك بالطبع نسخ نمط جديد وتعيينه.
ثم قم بإضافة نوع asa إلى نوع الملف الذي تم تحميله.
5. قم بتحميل ASP Trojan واحصل على WebShell. بعد ذلك، قم بتغيير امتداد ASP Trojan إلى asa، ويمكنك ببساطة تحميل ASP Trojan الخاص بك. لا تسألني عن كيفية تحميله هل شاهدت المعاينة؟ ما عليك سوى النقر فوق "معاينة" ثم تحديد الزر لإدراج ملفات أخرى.
مبدأ الضعف
مبدأ استغلال الثغرة الأمنية بسيط للغاية، يرجى الاطلاع على ملف Upload.asp:
لا يُسمح بتحميل ملفات البرنامج النصي asp تحت أي ظرف من الظروف
sAllowExt=Replace(UCase(sAllowExt),ASP,)
لأن eWebEditor يقوم فقط بتصفية ملفات ASP. أتذكر أنه عندما استخدمت eWebEditor لأول مرة، كنت أتساءل: نظرًا لأن المؤلف كان يعلم بالفعل أن ملفات asp تحتاج إلى التصفية، فلماذا لا تقوم بتصفية ملفات asa وcer والملفات الأخرى في نفس الوقت؟ ربما هذه علامة على عدم المسؤولية تجاه المستخدمين المجانيين!
التطبيقات المتقدمة
هناك أيضًا بعض النصائح لاستغلال ثغرات eWebEditor:
1. غير قادر على تسجيل الدخول باستخدام اسم المستخدم وكلمة المرور الافتراضية.
الرجاء محاولة تنزيل ملف ewebeditor.mdb مباشرة في دليل db. اسم المستخدم وكلمة المرور موجودان في جدول eWebEditor_System وتم تشفيرهما بـ md5. إذا لم تتمكن من تنزيله أو كسره، فاعتبر نفسك محظوظًا.
2. بعد إضافة نوع asa، وجدت أنه لا يزال من غير الممكن تحميله.
من المفترض أن يعرف مشرف الموقع بعض التعليمات البرمجية ويقوم بتعديل ملف Upload.asp بنفسه، ولكن لا يهم وفقًا لعادات تفكير الأشخاص العاديين، فغالبًا ما يقومون بتعديله مباشرة على الجملة sAllowExt=Replace(UCase(sAllowExt),ASP. ،) لقد رأيته وقام أحد مشرفي المواقع بتعديله على النحو التالي:
sAllowExt=Replace(Replace(Replace(Replace(Replace(UCase(sAllowExt),ASP,),CER,),ASA,),CDX,),HTR,)
للوهلة الأولى، تتم تصفية كل شيء، ولكن طالما أضفنا aaspsp إلى نوع التحميل، فيمكننا تحميل ملفات asp مباشرة. هاها، أليست فكرة عبقرية؟ بعد أن قام aaspsp بتصفية أحرف asp، تحول إلى asp! بالمناسبة، دعني أخبرك بسر، في الواقع، يمكن استخدام أساليب مماثلة لتجاوز تصفية الامتدادات في Dongwang Forum 7.0sp2.
3. بعد تحميل ملف asp، وجدت أن الدليل ليس لديه إذن بتشغيل البرنامج النصي.
هاها، أنا غبي جدًا، يمكن تغيير نوع التحميل، لكن ألا يمكن تعديل مسار التحميل أيضًا؟
4. تم استخدام الطريقة الموضحة في النقطة 2، ولكن لا يزال من غير الممكن تحميل نوع asp.
يبدو أن مشرف الموقع يجب أن يكون ماهرًا في كتابة asp، لكن لدينا خدعة أخيرة للتعامل معه: يمكن لـ eWebEditor تعيين نوع الحفظ التلقائي للملفات البعيدة، ويمكننا إضافة نوع asp. ولكن كيف يمكننا تمكين الوصول عن بعد إلى ملفات asp ليتم حفظها في نموذج التعليمات البرمجية المصدر؟ هناك العديد من الطرق، وأبسط طريقة هي حذف asp في تعيين ملف التطبيق في IIS.
المشاركة: اعرض باللون الأحمر الكلمات الرئيسية للسجل التي تم الحصول عليها عندما يستعلم ASP عن البيانات % استجابة.كتابة استبدال(RS(الحقل كوم/]