يعد التزوير عبر الموقع (CSRF) أحد أقدم الطرق لاستغلال نقاط الضعف في موقع الويب. يستهدف محولات الويب من جانب الخادم والتي تتطلب عادةً مصادقات مثل تسجيل الدخول. أثناء هجوم CSRF ، يهدف المهاجم إلى إجبار ضحيته على تقديم طلب ويب ضار وغير مصرح به نيابة عنهم.
تعد ممارسات أمان موقع الويب الضعيفة أو السيئة والإهمال في مسار المستخدم من الأسباب الشائعة لهجوم CSRF الناجح.
لنلقِ نظرة على ماهية هجوم CSRF والطرق الممكنة التي يمكنك من خلالها منع نفسك منه كمطور أو كمستخدم.
كيف تؤثر هجمات CSRF عليك؟
CSRF هو هجوم يستخدم لتنفيذ الطلبات غير المصرح بها أثناء إجراءات الويب التي تتطلب تسجيل دخول المستخدم أو المصادقة. يمكن أن تستفيد هجمات CSRF من معرفات الجلسة وملفات تعريف الارتباط بالإضافة إلى نقاط الضعف الأخرى المستندة إلى الخادم لسرقة بيانات اعتماد المستخدم.
على سبيل المثال ، يؤدي تمكين إجراءات مكافحة CSRF إلى منع التفاعلات الضارة عبر المجالات.
بمجرد كسر هذا الحاجز ، يمكن للمهاجم الاستفادة بسرعة من معرف جلسة المستخدم عبر ملفات تعريف الارتباط التي أنشأها متصفح المستخدم وتضمين علامة البرنامج النصي في موقع الويب الضعيف.
من خلال التلاعب بالمعرف ، يمكن للمهاجم أيضًا إعادة توجيه الزوار إلى صفحة ويب أخرى أو استغلاله طرق الهندسة الاجتماعية مثل البريد الإلكتروني لإرسال الروابط ، لتشجيع الضحية على تنزيل برامج ضارة.
تعرف على كيفية تأثير الهندسة الاجتماعية عليك ، بالإضافة إلى أمثلة شائعة لمساعدتك على تحديد هذه المخططات والبقاء في مأمن منها.
بمجرد تنفيذ الضحية لمثل هذه الإجراءات ، فإنها ترسل طلب HTTP إلى صفحة خدمة المستخدم وتفوض إجراء الطلب لصالح المهاجم. يمكن أن يكون ذلك مدمرًا للمستخدم المطمئن.
يمكن لهجوم CSRF الناجح أن يفقد المستخدمين المصرح لهم بيانات اعتماد الوصول الخاصة بهم للمهاجم ، خاصة أثناء الإجراءات المستندة إلى الخادم مثل طلبات تغيير كلمة المرور أو اسم المستخدم. في أسوأ السيناريوهات ، يتولى المهاجم الجلسة بأكملها ويتصرف نيابة عن المستخدمين.
تم استخدام CSRF لاختطاف معاملات الأموال عبر الويب بالإضافة إلى تغيير أسماء المستخدمين وكلمات المرور ، مما يؤدي إلى فقدان المستخدمين الوصول إلى الخدمة المتأثرة.
كيف يخطف المهاجمون جلساتك باستخدام CSRF: أمثلة
الأهداف الرئيسية لهجمات CSRF هي إجراءات الويب التي تتضمن مصادقة المستخدم. لكي تكون ناجحًا ، فإنها تحتاج إلى إجراءات غير مقصودة من الضحية.
أثناء هجوم CSRF ، تعد إجراءات GET و DELETE و PUT ، بالإضافة إلى طلبات POST الضعيفة هي الأهداف الرئيسية للمهاجم.
لنلقِ نظرة على معنى هذه المصطلحات:
- احصل على: طلب لجمع نتيجة من قاعدة البيانات ؛ على سبيل المثال ، بحث Google.
- بريد: عادة لتقديم الطلبات عبر نماذج الويب. يعد طلب POST أمرًا شائعًا أثناء تسجيل المستخدم أو تسجيل الدخول ، والمعروف باسم المصادقة.
- حذف: لإزالة مورد من قاعدة البيانات. يمكنك القيام بذلك كلما قمت بحذف حسابك من خدمة ويب معينة.
- وضع: يقوم طلب PUT بتعديل أو تحديث مورد موجود. مثال تغيير اسم Facebook الخاص بك.
في الممارسة العملية ، يستخدم المهاجمون اختطاف الجلسة لعمل نسخة احتياطية من هجوم CSRF. عند استخدام هذه المجموعة ، يمكن للمهاجم استخدام الاختطاف لتغيير عنوان IP الخاص بالضحية.
يؤدي التغيير في عنوان IP بعد ذلك إلى تسجيل الضحية في موقع ويب جديد حيث أدخل المهاجم رابطًا مخادعًا يرسل نموذجًا مكررًا أو طلب خادم معدل تم إنشاؤه عبر CSRF.
ثم يعتقد المستخدم المطمئن أن إعادة التوجيه تأتي من مزود الخدمة وينقر على الرابط في صفحة الويب الخاصة بالمهاجم. بمجرد القيام بذلك ، يرسل المتسللون نموذجًا عند تحميل الصفحة دون علمهم.
مثال على هجوم GET Request CSRF
تخيل أنك تحاول إجراء الدفع عبر الإنترنت من خلال منصة تجارة إلكترونية غير آمنة. يستخدم مالكو المنصة طلب GET لمعالجة معاملتك. قد يبدو استعلام GET هذا على النحو التالي:
https://websiteurl/pay? المبلغ = $ 10 & company = [company ABC's account]
يمكن للمخترق سرقة معاملتك بسهولة عن طريق تغيير معلمات طلب GET. للقيام بذلك ، كل ما يحتاجون إليه هو تبديل اسمك باسمهم ، والأسوأ من ذلك ، تغيير المبلغ الذي تنوي دفعه. ثم يقومون بتعديل الاستعلام الأصلي إلى شيء مثل هذا:
https://websiteurl/pay? المبلغ = 20000 دولار والشركة = [حساب المهاجم]
بمجرد النقر فوق ارتباط لطلب GET المعدل ، ينتهي بك الأمر بإجراء نقل غير مقصود إلى حساب المهاجم.
يعتبر التعامل مع طلبات GET ممارسة سيئة ، ويجعل الأنشطة عرضة للهجمات.
مثال على هجوم طلب POST CSRF
ومع ذلك ، يعتقد العديد من المطورين أن استخدام طلب POST أكثر أمانًا لإجراء معاملات الويب. في حين أن هذا صحيح ، للأسف ، فإن طلب POST عرضة لهجمات CSRF أيضًا.
لاختطاف طلب POST بنجاح ، كل ما يحتاجه المهاجم هو معرف الجلسة الحالي الخاص بك ، وبعض النماذج غير المرئية المنسوخة ، وأحيانًا القليل من الهندسة الاجتماعية.
على سبيل المثال ، قد يبدو نموذج طلب POST بالشكل التالي:
ومع ذلك ، يمكن للمهاجم تبديل بيانات الاعتماد الخاصة بك عن طريق إنشاء صفحة جديدة وتعديل النموذج أعلاه إلى ما يلي:
في النموذج الذي تم التلاعب به ، يقوم المهاجم بتعيين قيمة حقل المبلغ إلى "30000" ، ويتبادل رقم حساب المستلم إلى رقمه ، ويقدم النموذج عند تحميل الصفحة ، ويخفي أيضًا حقول النموذج من المستخدم.
بمجرد اختطاف تلك الجلسة الحالية ، تبدأ صفحة معاملتك في إعادة توجيه إلى صفحة المهاجم ، والتي تطالبك بالنقر فوق ارتباط يعرف أنه من المرجح أن تزوره.
يؤدي النقر فوق هذا إلى تحميل إرسال النموذج المنسوخ ، والذي يحول أموالك إلى حساب المهاجم. هذا يعني أنك لست بحاجة إلى النقر فوق أزرار مثل "إرسال" لإجراء المعاملة ، حيث يقوم JavaScript بذلك تلقائيًا عند تحميل صفحة الويب التالية.
بدلاً من ذلك ، يمكن للمهاجم أيضًا صياغة بريد إلكتروني مضمن بتنسيق HTML يطالبك بالنقر فوق ارتباط لإجراء إرسال نموذج تحميل الصفحة نفسه.
إجراء آخر عرضة لهجوم CSRF هو تغيير اسم المستخدم أو كلمة المرور ، مثال على طلب PUT. يقوم المهاجم بتكرار نموذج الطلب الخاص بك واستبدال عنوان بريدك الإلكتروني بعناوينهم.
ثم يسرقون جلستك ويقومون إما بإعادة توجيهك إلى صفحة أو إرسال بريد إلكتروني يطالبك بالنقر فوق ارتباط جذاب.
بعد ذلك يرسل نموذجًا تم التلاعب به يرسل رابط إعادة تعيين كلمة المرور إلى عنوان البريد الإلكتروني للمتسلل بدلاً من عنوان بريدك الإلكتروني. بهذه الطريقة ، يغير المخترق كلمة مرورك ويسجّل خروجك من حسابك.
كيفية منع هجمات CSRF كمطور
تتمثل إحدى أفضل الطرق لمنع CSRF في استخدام الرموز المتغيرة بشكل متكرر بدلاً من الاعتماد على ملفات تعريف الارتباط للجلسة لتشغيل تغيير الحالة على الخادم.
متعلق ب: أدلة مجانية لفهم الأمن الرقمي وحماية خصوصيتك
توفر العديد من أطر العمل الخلفية الحديثة الأمان ضد CSRF. لذلك إذا كنت ترغب في تجنب الجوانب الفنية لتعزيز CSRF بنفسك ، فيمكنك معالجتها بسهولة باستخدام أطر عمل من جانب الخادم تأتي مع الرموز المميزة المضادة لـ CSRF.
عند استخدام رمز مضاد لـ CSRF ، فإن الطلبات المستندة إلى الخادم تنشئ سلاسل عشوائية بدلاً من ملفات تعريف الارتباط للجلسة الأكثر ثباتًا. بهذه الطريقة ، يمكنك حماية جلستك من التخمين من قبل الخاطف.
يؤدي تطبيق نظام مصادقة ثنائية (2FA) لتشغيل المعاملات على تطبيق الويب الخاص بك أيضًا إلى تقليل فرص CSRF.
من الممكن بدء CSRF عبر البرمجة النصية عبر المواقع (XSS) ، والتي تتضمن إدخال البرنامج النصي في حقول المستخدم مثل نماذج التعليقات. لمنع حدوث ذلك ، من الممارسات الجيدة تمكين ميزة الهروب التلقائي لـ HTML في جميع حقول نماذج المستخدم عبر موقع الويب الخاص بك. يمنع هذا الإجراء حقول النموذج من تفسير عناصر HTML.
كيفية منع هجمات CSRF كمستخدم
بصفتك مستخدمًا لخدمة الويب التي تتضمن المصادقة ، لديك دور تلعبه في منع المهاجمين من سرقة بيانات اعتمادك وجلساتك عبر CSRF أيضًا.
تأكد من أنك تستخدم خدمات ويب موثوقة أثناء الأنشطة التي تتضمن تحويل الأموال.
بالإضافة إلى ذلك ، استخدم متصفحات الويب الآمنة التي تحمي المستخدمين من التعرض للجلسة ، فضلاً عن محركات البحث الآمنة التي تحمي من تسرب بيانات البحث.
متعلق ب: أفضل محركات البحث الخاصة التي تحترم بياناتك
بصفتك مستخدمًا ، يمكنك أيضًا الاعتماد على مصادقي الجهات الخارجية مثل Google Authenticator أو بدائله للتحقق من هويتك عبر الويب.
على الرغم من أنك قد تشعر بالعجز عن منع المهاجم من اختطاف جلستك ، فلا يزال بإمكانك المساعدة منع هذا من خلال التأكد من أن متصفحك لا يخزن معلومات مثل كلمات المرور وتسجيل الدخول الأخرى تفاصيل.
عزز أمن الويب الخاص بك
يحتاج المطورون إلى اختبار تطبيقات الويب بانتظام بحثًا عن انتهاكات الأمان أثناء التطوير والنشر.
ومع ذلك ، فمن الشائع إدخال نقاط ضعف أخرى أثناء محاولة منع الآخرين. لذا كن حذرًا للتأكد من أنك لم تنتهك معلمات الأمان الأخرى أثناء محاولة حظر CSRF.
أنشئ كلمة مرور قوية يمكنك تذكرها لاحقًا. استخدم هذه التطبيقات لترقية أمانك باستخدام كلمات مرور قوية جديدة اليوم.
- حماية
- الأمن على الإنترنت

Idowu شغوف بأي شيء التكنولوجيا الذكية والإنتاجية. في أوقات فراغه ، يلعب بالبرمجة ويتحول إلى رقعة الشطرنج عندما يشعر بالملل ، لكنه أيضًا يحب الابتعاد عن الروتين من حين لآخر. يحفزه شغفه بإظهار الطريق للناس حول التكنولوجيا الحديثة على كتابة المزيد.
اشترك في نشرتنا الإخبارية
انضم إلى النشرة الإخبارية الخاصة بنا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!
خطوة أخرى أيضا…!
يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه لك للتو.