يمكن استخدام JavaScript كأداة للمتسللين لمهاجمة المواقع الإلكترونية. حقن البرامج النصية الخبيثة بواسطة JS (JavaScript) هي واحدة من الطرق. لذلك ، دعنا نتعلم كيفية منع هجمات حقن JS؟ فيما يلي بيان جيد ، شارككم:
ما هو هجوم حقن جافا سكريبت؟
كلما قبلت إدخال المحتوى من مستخدم وإعادة تشغيله ، يكون الموقع عرضة لهجمات حقن JavaScript. دعونا نلقي نظرة على تطبيق محدد عرضة لهجمات حقن JavaScript. لنفترض تم إنشاء موقع ردود فعل العملاء. يمكن للعملاء زيارة الموقع وإدخال معلومات التعليقات حول المنتج. عندما يقدم العميل التعليقات ، يتم إعادة تشغيل معلومات التعليقات على صفحة التغذية المرتدة.
موقع ملاحظات العملاء هو موقع ويب بسيط. لسوء الحظ ، هذا الموقع عرضة لهجمات حقن جافا سكريبت.
لنفترض أن النص التالي يجري إدخاله في نموذج ملاحظات العملاء:
<script> ALERT ("Boo!") </script>
يمثل هذا النص البرنامج النصي JavaScript يعرض مربع رسالة التحذير. بعد أن يقدم شخص ما هذا البرنامج النصي إلى نموذج ملاحظات العملاء ، فإن رسالة بوو! سيظهر هجومًا عندما يزور أي شخص موقع ملاحظات العملاء في المستقبل. قد تعتقد أيضًا أن الآخرين لن يتمكنوا من تدميره من خلال هجمات حقن JavaScript.
الآن ، قد يكون رد فعلك الأول على هجمات حقن JavaScript هو تجاهلها. قد تعتقد أن هجمات حقن JavaScript ليست أكثر من غير ضارة ، وللأسف ، يقوم المتسللون بالتخريب عن طريق حقن JavaScript في مواقع الويب الخاصة بهم. يمكن استخدام هجوم حقن JavaScript لأداء هجمات البرمجة النصية (XSS) عبر المواقع. في هجوم برمجة نصية عبر المواقع ، يمكن سرقة معلومات المستخدم السرية وإرسالها إلى موقع ويب آخر.
على سبيل المثال ، يمكن للمتسللين استخدام هجمات حقن JavaScript لسرقة قيم ملفات تعريف الارتباط من متصفحات المستخدمين الآخرين. إذا تم حفظ المعلومات الحساسة (مثل كلمات المرور أو حسابات بطاقات الائتمان أو أرقام الضمان الاجتماعي) في ملفات تعريف الارتباط للمتصفح ، يمكن للمتسللين سرقةها باستخدام هجمات حقن JavaScript. بدلاً من ذلك ، إذا أدخل المستخدم معلومات حساسة في حقل النموذج للصفحة ويتم اختراق الصفحة بسبب هجوم JavaScript ، فيمكن للمتسلل استخدام JavaScript المحقن للحصول على بيانات النموذج وإرسالها إلى موقع ويب آخر.
يرجى إيلاء اهتمام كبير. خذ هجمات حقن JavaScript على محمل الجد وحماية المعلومات السرية للمستخدمين. في القسمين التاليين ، سنناقش تقنيتين لمنع تطبيقات ASP.NET MVC من الهجوم بواسطة حقن JavaScript.
الطريقة 1: ترميز HTML في العرض
تتمثل إحدى الطرق السهلة لمنع هجمات حقن JavaScript في تشفير البيانات التي أدخلها أي مستخدم موقع في HTML عند إعادة تشغيل البيانات في العرض.
على سبيل المثال: <٪ = html.encode (Feedback.message) ٪>
ما معنى استخدام HTML لترميز سلسلة؟ عند استخدام HTML لتشفير السلاسل ، يتم استبدال الأحرف الخطرة مثل <و> بكيانات HTML مثل <و>. لذلك ، عندما يتم ترميز السلسلة <script> ("boo!") </script> باستخدام HTML ، سيتم تحويلها إلى <script> ALERT ("boo!") </script>. لم يعد المتصفح ينفذ نصوص JavaScript عند تحليل السلاسل المشفرة. بدلاً من ذلك ، يظهر صفحات غير ضارة
الطريقة 2: ترميز HTML قبل الكتابة إلى قاعدة البيانات
بالإضافة إلى استخدام HTML لتشفير البيانات عند عرض البيانات في عرض ، يمكنك أيضًا استخدام HTML لتشفير البيانات قبل إرسالها إلى قاعدة البيانات. الطريقة الثانية هي بالضبط الحالة مع وحدة التحكم في القائمة 4 من البرنامج.
يحب:
Action ActionResult Create (رسالة سلسلة) {// إضافة Feedbackvar newFeedBack = New Feedback () ؛ newfeedback.message = server.htmlencode (message) ؛ newfeedback.entryDate = dateTime.now ؛ db.feedbacks.insertonsubmit (newfeedback) ؛ db.submitchanges () ؛ // redirectreturn redirectToAction ("الفهرس") ؛}لاحظ أن قيمة الرسالة هي HTML مشفرة في عملية Create () قبل تقديمها إلى قاعدة البيانات. عند إعادة تشغيل الرسالة في العرض ، يتم ترميز الرسالة HTML ، لذلك لا يتم تنفيذ أي جافا سكريبت في الرسالة.
لخص
في كثير من الأحيان ، يفضل الناس استخدام الطريقة الأولى التي تمت مناقشتها في هذا البرنامج التعليمي وليس الطريقة الثانية. المشكلة في النهج الثاني هي أن البيانات المشفرة HTML سيتم الاحتفاظ بها في نهاية المطاف في قاعدة البيانات. بمعنى آخر ، سوف تحتوي البيانات الموجودة في قاعدة البيانات على أحرف غريبة. ما هو عيب هذا؟ إذا كنت بحاجة إلى عرض بيانات قاعدة البيانات في نموذج آخر غير صفحة ويب ، فسوف تواجه مشاكل. على سبيل المثال ، لا يمكن عرض البيانات بسهولة في تطبيقات نماذج Windows.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.