كيف يتم اختراق المواقع
نسمع نفس المصطلحات التي يتم تداولها كلما تم اختراق موقع شهير. أنت تعرف ... حقن SQL ، البرمجة النصية عبر المواقع ، هذا النوع من الأشياء. لكن ماذا تعني هذه الأشياء؟ هل الاختراق حقًا يتعذر الوصول إليه كما يتخيل الكثير منا - عالم شرير تقني مستحيل إلى الأبد بعيدًا عن ملكنا؟
ليس صحيحا.
مصطلحات تُسمَع باستمرار:-
عندما تفكر في أنه يمكنك الانتقال إلى Google الآن وإدخال سلسلة بحث تعيد لك الآلاف من أسماء المستخدمين وكلمات المرور إلى مواقع الويب ، فأنت تدرك أن هذا العلم المظلم ليس لغزًا على الإطلاق. سوف تتفاعل بشكل مشابه عندما ترى مدى بساطة مفهوم حقن SQL ، وكيف يمكن أتمتة ذلك باستخدام أدوات بسيطة. اقرأ لتتعلم أساسيات كيفية اختراق أنظمة إدارة محتوى الويب والمواقع في أغلب الأحيان ، وما يمكنك القيام به لتقليل مخاطر حدوث ذلك لك.!
حقن SQL
يتضمن حقن SQL إدخال كود SQL في نماذج الويب ، على سبيل المثال. حقول تسجيل الدخول ، أو في حقل عنوان المتصفح ، للوصول إلى قاعدة البيانات ومعالجتها خلف الموقع أو النظام أو التطبيق.
عند إدخال نص في حقلي اسم المستخدم وكلمة المرور لشاشة تسجيل الدخول ، يتم عادةً إدراج البيانات التي تدخلها في أمر SQL. يتحقق هذا الأمر من البيانات التي أدخلتها مقابل الجدول ذي الصلة في قاعدة البيانات. إذا تطابق الإدخال الذي أدخلته مع بيانات الجدول / الصف ، فسيتم منحك حق الوصول (في حالة شاشة تسجيل الدخول). إذا لم يكن الأمر كذلك ، فقد تم طردك.
هاك حقن SQL البسيط
في أبسط أشكاله ، هذه هي الطريقة التي يعمل بها حقن SQL. من المستحيل شرح ذلك دون الرجوع إلى الكود للحظة. لا تقلق ، سينتهي كل شيء قريبًا.
لنفترض أننا أدخلنا السلسلة التالية في حقل اسم المستخدم:
OR 1 = 1
double-dash-txt.png
سيكون استعلام SQL التفويض الذي يتم تشغيله بواسطة الخادم ، وهو الأمر الذي يجب استيفاءه للسماح بالوصول ، شيئًا على غرار:
SELECT * FROM users WHERE username ?' OR 1=1 -- 'AND password '?
... حيث USRTEXT و PASSTEXT هما ما يدخله المستخدم في حقول تسجيل الدخول في نموذج الويب.
لذا فإن إدخال `OR 1 = 1 - كاسم مستخدم خاص بك ، قد يؤدي إلى تشغيل ما يلي بالفعل:
SELECT * FROM users WHERE username ?' OR 1=1 -- 'AND password '?
هناك شيئان تحتاج إلى معرفتهما حول هذا:
['] يغلق حقل النص [اسم المستخدم].
"
double-dash-txt.png
[ ' ] هو اصطلاح SQL للتعليمات البرمجية يُسمَّي التعليق والَّذي تحدّثنا عنه فى مقالة عن لغة البرمجة بايثون هنا، ويتم تجاهل كل شيء بعد التعليق. لذا أصبح الروتين الفعلي الآن:
SELECT * FROM users WHERE username ?' OR 1=1 -- '
1 دائمًا يساوي 1 ، آخر مرة راجعت فيها. لذا تم الآن التحقق من صحة روتين التفويض ، ودخلنا الباب الأمامي لتحطيم الخراب.!
دعونا نأمل أن تكون قد فهمت جوهر ذلك ، والمضي قدمًا بخفَّة :)
لكن هذه العملية تعمل على توضيح ما يدور حوله حقن SQL - حقن رمز لمعالجة روتين عبر نموذج ، أو في الواقع عبر عنوان URL. من حيث تجاوز تسجيل الدخول عبر الحقن ، فإن 'OR 1 = 1 القديم هو مجرد خيار واحد. إذا اعتقد المتسلل أن موقعًا ما معرض للخطر ، فهناك أوراق غش في جميع أنحاء الويب لسلاسل نصية لتسجيل الدخول التي يمكنها الوصول إلى أنظمة ضعيفة. في ما يلي بعض السلاسل النصيَّة الأكثر شيوعًا المستخدمة لخداع إجراءات التحقق من صحة SQL:
أمثلة مجال اسم المستخدم:
admin'--
') OR (' أ '=' أ
") OR (" أ "=" أ
WELCOME OR "أ" = "أ
... وهكذا.
Backdoor Injection-Modules ، منتديات ، بحث ، إلخ.
لا يقتصر اختراق نماذج الويب بأي حال من الأحوال على شاشات تسجيل الدخول. نموذج البحث المتواضع ، على سبيل المثال ، مرتبط بالضرورة بقاعدة بيانات ، ويمكن استخدامه لتعديل تفاصيل قاعدة البيانات. يمكن أن يؤدي استخدام أوامر SQL في نماذج البحث إلى القيام ببعض الأشياء القوية للغاية ، مثل استدعاء أسماء المستخدمين وكلمات المرور! ، والبحث في مجموعة حقول قاعدة البيانات وأسماء الحقول ، وتعديلها. هل يتعرض الأشخاص حقًا للاختراق من خلال نماذج البحث الخاصة بهم؟ من الأفضل أن تصدق ذلك. ومن خلال المنتديات ، وفي أي مكان آخر ، يمكن للمستخدم إدخال نص في حقل يتفاعل مع قاعدة البيانات. إذا كان مستوى الأمان منخفضًا بدرجة كافية ، يمكن للمتسلل التحقق من قاعدة البيانات للحصول على أسماء الحقول ، ثم استخدام أوامر مثل INSERT INTO و UNION وما إلى ذلك للحصول على معلومات المستخدم وتغيير أسعار المنتجات وتغيير إعدادات / أرصدة الحساب وأي شيء آخر تقريبًا ... اعتمادًا على الإجراءات الأمنية المطبقة ، وبنية قاعدة البيانات وما إلى ذلك.
لذلك يمكنك تأمين الأمان عند تسجيل الدخول ، ولكن لا يزال من الممكن استغلال ضعف الأمان في النماذج الأخرى. لسوء الحظ ، هذا مصدر قلق حقيقي فيما يتعلق بوحدات الطرف الثالث لمنتجات Web CMS التي تتضمن نماذج ، وبالنسبة لمنتجات CMS ، غالبًا ما تكون وحدات الطرف الثالث هذه هي الروابط الأضعف التي تسمح للقراصنة بالوصول إلى قاعدة البيانات الخاصة بك.
الحقن الآلي - Automated Injection
هناك أدوات لأتمتة عملية حقن SQL في تسجيل الدخول والحقول الأخرى. تتمثل إحدى عمليات القراصنة ، باستخدام أداة معينة ، في البحث عن عدد من الأهداف الضعيفة باستخدام Google (البحث عن login.asp ، على سبيل المثال) ، ثم إدراج مجموعة من سلاسل الحقن الممكنة (مثل تلك المدرجة أعلاه ، المستبعدة من الحقن الذي لا يحصى أوراق الغش على الويب) ، أضف قائمة من الوكلاء لتغطية تحركاته ، واذهب للعب XBox بينما يقوم البرنامج بأتمتة عملية الحقن بأكملها!.
الحقن عن بعد - Remote Injection
يتضمن ذلك تحميل ملفات ضارة لحقن SQL واستغلال نقاط الضعف الأخرى. إنه موضوع تم اعتباره خارج نطاق هذا التقرير ، ولكن يمكنك عرض ملف PDF هذا إذا كنت ترغب في معرفة المزيد.
إدخال SQL في شريط عناوين المستعرض - SQL Injection in the Browser Address Bar
يمكن أيضًا إجراء الحقن عبر شريط عنوان المتصفح. لا أقصد أن يكون لدي اهتمام في Microsoft ، ولكن عندما يتعلق الأمر بمثل هذه الثغرات الأمنية ، غالبًا ما تكون طلبات HTTP GET مع عناوين URL للنموذج التالي عرضة للخطر:
http://somesite.com/index.asp؟id=10
حاول إضافة أمر SQL إلى نهاية سلسلة URL مثل هذه ، فقط للركلات:
http://somesite.com/index.asp؟id=10 وid = 11
انظر إذا ظهرت كلتا المادتين. لا تطلق النار على مشرف موقعك حتى الآن إذا كان موقعك الخاص وظهرت لك مقالتان: هذا وصول حقيقي منخفض المستوى إلى قاعدة البيانات. لكن بعض هذه المواقع ستكون عرضة للخطر. حاول إضافة بعض أوامر SQL البسيطة الأخرى إلى نهاية عناوين URL من موقعك لترى ما سيحدث.!
كما رأينا أعلاه ، يثير الوصول إلى قاعدة البيانات عددًا من الاحتمالات المثيرة للاهتمام. يمكن رسم بنية قاعدة البيانات بواسطة متسلل ماهر من خلال الرؤية الخاطئة لرسائل الخطأ - وهذا ما يسمى ببصمة قاعدة البيانات - ومن ثم يمكن استخدام هذه المعرفة بأسماء الجداول وما إلى ذلك للوصول إلى بيانات إضافية. كشف رسائل الخطأ هو المن - يمكن أن تحمل اسم جدول لا يقدر بثمن وتفاصيل هيكلية.
السلسلة التوضيحية التالية مأخوذة من Imperva.
http://www.mydomain.com/products/products.asp?productid=123 UNION SELECT username, password FROM USERS
هناك مساحات شاسعة من المعلومات حول حقن SQL المتاحة ، وفيما يلي بعض المصادر الجيدة:
GovernmentSecurity.org
SecurityDocs.com
البرمجة النصية عبر الموقع (XSS) -
Cross Site Scripting (XSS)
XSS أو Cross Site Scripting هي نقطة الضعف الرئيسية الأخرى التي تهيمن على مشهد القرصنة على الويب ، وهي عميل صعب للغاية ويبدو من الصعب إيقافه بشكل خاص. Microsoft و MySpace و Google ... كل الكاهونات الكبيرة واجهت مشاكل مع نقاط ضعف XSS. هذا أكثر تعقيدًا إلى حد ما من حقن SQL ، وسنلقي نظرة سريعة على ذلك.
تدور XSS حول إجراءات JavaScript الضارة (عادةً) المضمنة في الارتباطات التشعبية ، والتي تُستخدم لاختطاف الجلسات (sessions) واختطاف الإعلانات في التطبيقات وسرقة المعلومات الشخصية.
تخيل المشهد: أنت هناك تتصفح بعض لوحات الإعلانات المجهولة لأنك ، نعم ، أنت حقًا كسول في العمل. بعض الفتيات اللطيفات ذات اللغة الإنجليزية المكسورة تتوسل إليك للاتصال. تقول: "أنا لطيفة يا فتاة". لطالما تساءلت عن مكان هذه الروابط فعليًا ، لذا فأنت تقول ماذا بحق الجحيم. تحوم فوق الارتباط ، يبدو مثل هذا في شريط المعلومات:
[٪ 63٪ 61٪ 74٪ 69٪ 6f٪ 6e٪ 3d٪ 274٪ 74٪ 70٪ 3a٪ 2f٪ 2f٪ 77٪ 7 ...]
هممممم ... الشيء الوحيد الذي أحتاجه الآن هو رؤية إعلان لسياليس رخيصة الثمن. ربما ترضي الصفحة المرتبطة هذه الرغبة ، وربما لا. لا شيء مثير يحدث عندما تنقر على الرابط ، بأي معدل ، ويستمر اليوم الطويل.
عندما يكون هناك رابط في مراسلة فورية أو بريد إلكتروني أو منتدى أو لوحة رسائل مشابهة مثل الرابط أعلاه ، فقد يحتوي على أي شيء تقريبًا. مثل هذا المثال ، من SandSprite ، الذي يساعد في سرقة ملف تعريف ارتباط الجلسة ، والذي يمكن استخدامه لسرقة جلسة في تطبيق ويب ، أو حتى للوصول إلى تفاصيل حساب المستخدم.
سرقة ملفات تعريف الارتباط هي مجرد قمة جبل الجليد - هجمات XSS من خلال الروابط ومن خلال التعليمات البرمجية المضمنة في صفحة أو حتى مشاركة bb يمكن أن تفعل الكثير ، بقليل من الخيال.
سرقة ملفات تعريف الارتباط (cookies) هي مجرد قمة جبل الجليد - هجمات XSS من خلال الروابط ومن خلال التعليمات البرمجية المضمنة في صفحة أو حتى مشاركة bb يمكن أن تفعل الكثير ، بقليل من الخيال.!
XSS هي في الغالب مصدر قلق للمستهلكين ومطوري تطبيقات الويب. إنها عائلة الكوابيس الأمنية التي تجعل الناس مثل MySpace Tom و Mark Zuckerberg مستيقظين في الليل. إذن ، ليس كلهم سيئين ، أفترض ...
للحصول على موارد إضافية حول هذا الموضوع ، إليك نظرة عامة رائعة على XSS (PDF) وما يمكن إنجازه باستخدام الروابط المخادعة. وإليك مقطع فيديو XSS متعمق.
تجاوز التفويض -
Authorization Bypass
تجاوز التفويض هو عملية بسيطة مخيفة يمكن استخدامها ضد التطبيقات سيئة التصميم أو أطر إدارة المحتوى. أنت تعرف كيف هي ... أنت تدير جامعة صغيرة وتريد أن تمنح الطلاب الجامعيين شيئًا ما ليفعلوه. لذلك قاموا ببناء إطار عمل لإدارة المحتوى لقسم أبحاث Mickey Bags. تكمُن المشكلة في أن هذه البوابة المحلية مرتبطة بقواعد بيانات أخرى أكثر أهمية في الحرَم الجامعي. الشيء التالي الذي تعرفه ، هناك يذهب المزرعة
تجاوز التفويض ، للوصول إلى الواجهة الخلفية للمسؤول ، يمكن أن يكون بهذه البساطة:
البحث عن صفحة تسجيل الدخول ضعيفة الهدف.
أنظر المصدر. نسخ إلى المفكرة.
حذف جافا سكريبت التخويل ، تعديل ارتباط أو اثنين.
حفظ على سطح المكتب.
فتح على سطح المكتب. أدخل أي شيء في حقول تسجيل الدخول ، اضغط على مفتاح الإدخال.
يا بريستو.
إليك مقطع فيديو رائع لقبعة بيضاء (White Hat) تمر بعملية تجاوز التفويض على YouTube. تم ذلك ضد موقع ويب لجامعة صغيرة. إنها عملية تستغرق دقيقتين. لاحظ أنه يدخل إلى حساب المستخدم 1 ، وهو ليس حساب المسؤول في هذه الحالة. هل المستخدم المسؤول 1 في جدول المستخدم الخاص بك؟
جوجل القرصنة (Google Hacking)
هذا هو إلى حد بعيد أسهل اختراق على الإطلاق. إنه حقًا ما يمكن أن تجده في فهرس Google أمرًا استثنائيًا. وإليك Newsflash # 1: يمكنك العثور على مجموعة كبيرة من أسماء المستخدمين وكلمات المرور الفعلية باستخدام سلاسل البحث.
انسخ والصق هذه في Google:
inurl: passlist.txt
inurl: passwd.txt
... وهذا لا يقدر بثمن ...
"login: *" "password= *" filetype:xls
تعطي هذه السلاسل نتائج عشوائية للغاية ، ولا تفيد إلا قليلاً في الهجمات المستهدفة. سيتم استخدام قرصنة Google بشكل أساسي للعثور على المواقع التي بها نقاط ضعف. إذا علم المتسلل (المخترق) أن SQL Server 2000 ، على سبيل المثال ، لديه بعض الثغرات ، وكان يعرف سلسلة فريدة تم دفعها من خلال هذا الإصدار في النتائج ، فيمكنك التركيز على مواقع الويب المعرضة للخطر.
بالنسبة لأهداف محددة ، يمكن لـ Google إرجاع بعض المعلومات المفيدة بشكل استثنائي: تكوينات الخادم الكاملة ، وتفاصيل قاعدة البيانات (حتى يعرف المتسلل الجيد نوع الحقن الذي قد يعمل) ، وما إلى ذلك. يمكنك العثور على أي قدر من عمليات تفريغ قاعدة بيانات SQL أيضًا (العبث مع اختراق Google أثناء إعداد هذه المقالة ، عثرت على تفريغ لموقع ويب مطور CMS من الدرجة الأولى). وكمية هائلة أكثر إلى جانب ذلك.
johnny.ihackstuff.com هو الرجل الذي يذهب إليه بحثًا عن اختراق Google. واحدة مثيرة للاهتمام كنت العبث بها دعاني إلى Joomla! تثبيت الصفحة لعشرات المواقع ... الأشخاص الذين قاموا بتحميل جملة !، قرروا عدم تثبيتها ، وبعد ذلك تركوا المجال للتعفن ، أو قاموا بتعيين إعادة توجيه على الصفحة ، على سبيل المثال ، لحساب Flickr الخاص بهم (في حالة واحدة ). السماح لأي شخص بالدخول والتشغيل من خلال المثبت. تستهدف سلاسل الاستعلام الأخرى أرشيفات البريد الإلكتروني / الرسائل الفورية غير المحمية وجميع أنواع المعلومات الحساسة للغاية. ما هي المتعة التي يمكننا الحصول عليها!
تكسير كلمة المرور
يمكن فك شفرة السلاسل المجزأة من خلال "التأثير الغاشم". أخبار سيئة ، أليس كذلك؟ نعم ، وخاصة إذا كانت كلمات المرور / أسماء المستخدمين المشفرة تطفو في ملف غير محمي في مكان ما ، ويصادفها بعض المتسللين من Google.
قد تعتقد أنه لمجرد أن كلمة مرورك تبدو الآن مثل XWE42GH64223JHTF6533H في أحد هذه الملفات ، فهذا يعني أنه لا يمكن اختراقها؟ خاطئ. الأدوات متاحة مجانًا والتي ستقوم بفك شفرة نسبة معينة من كلمات المرور المجزأة والمشفرة بالمثل.
عدد قليل من الإجراءات الدفاعية
إذا كنت تستخدم نظام إدارة محتوى الويب ، فقم بالاشتراك في مدونة التطوير. التحديث إلى الإصدارات الجديدة في أقرب وقت ممكن.
قم بتحديث جميع وحدات الطرف الثالث بالطبع - أي وحدات تتضمن نماذج الويب أو تمكين تحميل ملفات الأعضاء تشكل تهديدًا محتملاً. يمكن أن توفر الثغرات في الوحدة النمطية الوصول إلى قاعدة البيانات الكاملة الخاصة بك.
صلّب نظام إدارة المحتوى على الويب أو منصة النشر. على سبيل المثال ، إذا كنت تستخدم WordPress ، فاستخدم هذا الدليل كمرجع.
إذا كانت لديك صفحة تسجيل دخول مسؤول لنظام إدارة المحتوى المخصص لديك ، فلماذا لا تسميها "Flowers.php" أو شيء من هذا القبيل ، بدلاً من "AdminLogin.php" وما إلى ذلك؟
أدخل بعض البيانات المربكة في حقول تسجيل الدخول مثل نماذج سلاسل الحقن الموضحة أعلاه ، وأي بيانات أخرى تعتقد أنها قد تربك الخادم. إذا تلقيت رسالة خطأ غير معتادة تكشف عن رمز تم إنشاؤه بواسطة الخادم ، فقد يؤدي ذلك إلى إظهار ثغرة أمنية.
قم ببعض الاختراقات من Google على اسمك وموقعك على الويب. فقط في حالة...
عند الشك ، اسحب الكابل الأصفر للخارج! لن تفيدك بأي شيء ، لكن مهلا ، إنها القوافي :)
والسلام عليكم ورحمة الله وبركاته , إلى هنا قد انتهت مقالتنا اليوم, شكراً لحسن تفهّمكُم ^_^
إرسال تعليق