المقال المثبتامن وحماية تطبيقات الويبمواضيع عامةمواضيع ومقالات

مقال: شرح ثغرة تزوير المحتوى فى تطبيقات الويب content spoofing

تم أرشفة هذا المحتوى


السلام عليكم

اليوم سوف نتناول ثغرة content spoofing لتوضيح الثغرة واسباب حدوثها ومعرفة خطورتها وكيفية اكتشفاها وطريقة استغلالها والحماية منها سواء من جانب صاحب الموقع او من جانب المستخدم العادي.

swap

 

ثغرة content spoofing :

هى ثغرة تمكنك من اضافة او تعديل المحتوى لموقع ما وبالتالى عرض معلومات مزورة للمستخدم تكون لصالح المهاجم وتضر بسمعة الموقع او الشركة . يطلق ايضا على هذه الثغرة اسم اخر وهو “حقن المحتوى”  content injection

شرح الثغرة :

لنفترض ان  موقع isecur1ty.com  يعرض صفحة لتقييم العملاء للدورات المدفوعة من خلال الرابط التالى :

http://isecur1ty.com/courses.php?id=12&rev=buy%20now%20to%20enjoy%20the%20best%20course%20ever

id=12 هذا البارمتر الخاص برقم الكورس

rev=buy%20now%20to%20enjoy%20the%20best%20course%20ever

البارمتر rev هو الخاص بعرض رأى العملاء فى هذا الكورس .

c4

كما ترى يوصى العملاء بشراء هذا الكورس لأنه الأفضل فى هذا المجال !!

ماذا لو كان البارمتر rev يسمح لنا بالتعديل على قيمته ؟ ربما يكون الموقع مصاب بثغرة content spoofing!!

نقوم بتغيير قيمة البارمتر rev ليصبح :

rev=it is not good so don’t buy it

يعنى ان العملاء ترى ان هذا الكورس ليس جيدا وتوصى العملاء بعدم شراءه

ويكون الرابط بهذا الشكل :

http://isecur1ty.com/courses.php?id=12&rev=it%20is%20not%20good%20so%20don%27t%20buy%20it

الأن  لنرى هل سيتم حقن الجملة فى محتوى الموقع ؟

c5

تم تزوير المحتوى بنجاح وتأكدنا ان الموقع مصاب بالثغرة

ماذا لو ارسلنا هذا الرابط الى كل زوار الموقع ؟ بالطبع سيمثل خسارة اقتصادية كبيرة للشركة فنحن زورنا رأى العملاء بخصوص هذا الكورس  !!

خطورتها :

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

احيانا يشكل حقن النصوص خطر كبير وخاصة فى مواقع التسوق حيث يستطيع المهاجم من حقن معلومات خاطئة عن المنتجات او توصيات بعدم شراء هذا المنتج مما يؤدى الى خسارة اقتصادية للموقع.

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

احد استخدامات هذه الثغرة هو الإستعراض بأختراق نصى للموقع مثلا : website hacked by mahmoud

اسباب حدوثها :

تحدث هذه الثغرة عندما يسمح الموقع المصاب للمستخدم بتغيير قيمة البارمتر ولا يقوم الموقع بالتحقق من  هذه القيمة والتى يجعلها تظهر فى محتوى الموقع .

يجب على الموقع ان يقوم بفلترة كل المدخلات ولا يثق ابدا فى المستخدم لأن هذا المستخدم قد يكون هو المهاجم!!

كيفية اكتشاف الثغرة :

طريقة 1 :

  1. اجمع كل البارمترز الموجودة فى الروابط للموقع المستهدف
  2. قم بالتعديل على قيمة البارمتر بإضافة نصوص مثلا : “isecur1ty “
  3. لو ظهرت النصوص “isecur1ty ” فى محتوى الموقع اذن فالموقع مصاب بثغرة content spoofing

طريقة 2 :

  1. ابحث عن  اى بارمتر قيمته تظهر بشكل مباشر فى محتوى الموقع كما بالصورة التالية

c1قيمة البارمتر user تظهر بشكل مباشر فى محتوى الصفحة اذن هناك امكانية للتعديل على البارمتر وبالتالى محتوى الصفحة

2.  قم بالتعديل على قيمة البارمتر مثل الطريقة الأولى ولاحظ ظهور النصوص فى محتوى الموقع

كيفية الإستغلال :

عن طريق اضافة محتوى مزيف وارسال الرابط الى عدد كبير من الضحايا .محتوى مزيف مثل :

web site down ! come back later

وبالتالى سيخسر الموقع الكثير من الزيارات

او مثلا محتوى اخر اكثر خطرا على المستخدم عن طريق اضافة رابط خبيث فى محتوى الموقع مثل :

web site is transferring to new domain www.attacker.com

وسيدخل المستخدم بحسن نية اللى الرابط الخبيث مما يتيح للمهاجم سرقة الحساب

تطبيق الثغرة على موقع مشهور :

سنطبق هذه الثغرة على الموقع الروسى الشهير yandex

نذهب الى الرابط المصاب : لاحظ الصورة التالية

c2

 

البارمتر المصاب هو ReleasesType=

والذى يسمح للمهاجم بالتعديل على قيمته دون التحقق من هذه القيمة !

نقوم بالتعديل على البارمتر والنتيجة هى :

c3

 

الحماية من الثغرة :

لحماية الموقع :

  1. التحقق من  كل المدخلات
  2. فلترة اى قيمة تأتى من جانب المستخدم
  3. الإعتماد على POST parameter كلما يكون ذلك متاحا

لحماية المستخدم :

  1. لا تضغط على الروابط التى تأتى من ايميلات مجهولة او من خلال مواقع التواصل الإجتماعى
  2. دائما تحقق من مصدر الرابط وانها قادم من الموقع الصحيح مثلا site.com وليس sitee.com او s1te.com
  3. تحقق من الرابط بشكل كلى او استخدم اضافات تتحقق من الروابط بشكل اوتوماتيكى !

 

الباب مفتوح لكل الإستفسارات !!

 

محمود رضا

محمود من مصر مهووس بالتكنولوجيا ومجال امن المعلومات.مختبر اختراق للشبكات والمواقع.لدى معرفة بلغات برمجة لكن احب لغة البايثون

مقالات ذات صلة

‫11 تعليقات

  1. بصراحة يا أخي رضا محمود أنت الذي تعطي المقالات الجيدة و المفيدة في هذا الموقع فأتمنى لك طول العمر و النجاح في في شؤونك ……إن شاء الله أنت و المتطوعين الاخرين منهم محمد عسكر و..و….على مجهوداتكم لتطويع الشعوب العربية على فهم هذه المناهج الإستثنائية في العالم العربي ………………أخوك في الله” ” من المغرب

  2. السلام عليكم اخي الكريم رضا بارك الله فيك على المقال و لكن لدي بعض التعقيب و الذي هو في معرفة ما اذا كان الموقع مصاب بالثغرة او لا
    هو ظهور الباراميتر في الصفحة لا يعني انه مصاب و ذلك لانه قد يستعمل مبرمج بارامتر مؤقت ثم يمرره الى صفحة اخرى ليعرضه في محتواها و لكن يمكن معرفة ما اذا كان الموقع مصاب بثغرة او لا ببعض من التفكير و الخبرة كان تجد مثلا يطلب رايك في منتوج معين و بعد ادخال رايك يتم تحويله الى صفحة اخرى من خلال الGET لعرضه فهنا نعرف ان التعليق يتم تخزينه في قاعدة البيانات فيمكننا ان نستغل الثغرة بتغيير قيمة البارامتر فيتم تخزين القيمة التي ادخلناها في قاعدة البيانات . فتصبح القيمة اصلية في الموقع بدل ان تكون مؤقتة
    اتمنى انك فهمت قصدي

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى