من يشرح لنا بشكل مبسط ثغرة csrf مع اعطاء امثلة وايضا الطريقة المثلى لكيفية ترقيعها؟


التعليقات

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

برمجياً هناك textarea و زر submit يرسل هذه المعلومات الى كود السيرفر ويقوم يالتحقق من المستخدم ثم ادخالها الى قاعدة البيانات.

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

لذلك نلجأ لوضع token في لتأكد ان المستخدم ارسل الرد او الموضوع من نفس الصفحة على الموقع الاصلي, وكل Request له token خاص به, فمن يقوم ببرمجة صفحة لتنفيذ هذه الامور يستحيل ان يعرف هذا ال token وعندها سنعلم ان الرد مرسل عن طريق صفحة اخرى ولا يتم تنفيذه.

لاحظ هنا عندما قمت بارسال هذا الرد, فتم ارسال ال token معه

بارك الله فيك على الاجابة الوافية والشافية

اذا هذه الثغرة في اغلب الاحيان تستغل في الصفحات التي تستعمل الاجاكس؟

لا يشترط ذلك .. ممكن ان تعمل دون اجاكس ايضاً


تطوير الويب

مجتمع خاص بمناقشة وطرح المواضيع والقضايا العامة المتعلقة بتطوير الويب ولغاتها المختلفة

88.7 ألف متابع