أجهزة الكمبيوتربرمجة

ما هو حقن سكل؟

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

وهناك القليل من نظرية

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

لتجنب مثل هذه الحالات، تحتاج إلى تحسين بشكل صحيح رمز وأن تراقب عن كثب في الطريقة التي يتم معالجة الطلب.

تحقق من SQL الحقن

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

على سبيل المثال، هناك nekiy_sayt / index.php؟ معرف = 25

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

بعد أن تبين، يمكنك محاولة للتخلص منه.

لتنفيذ هذه الحاجة التعرض للتعرف قليلا عن فرق الاستفسارات SQL. واحد منهم - UNION. فهو يجمع بين عدة نتائج الاستعلام في واحد. حتى نتمكن من حساب عدد الحقول في الجدول. مثال الاستعلام الأول هو:

  • nekiy_sayt / index.php؟ ID = 25 UNION SELECT 1.

في معظم الحالات، يجب هذا السجل بإنشاء خطأ. وهذا يعني أن عدد الحقول لا يساوي 1. وهكذا، واختيار خيارات من 1 أو أكبر، فمن الممكن لتحديد عددهم بالضبط:

  • nekiy_sayt / index.php؟ ID = 25 UNION SELECT 1،2،3،4،5،6.

وهذا هو، عندما لم يعد يظهر الخطأ، فهذا يعني أن عدد الحقول تخمينها.

وهناك أيضا حل بديل لهذه المشكلة. على سبيل المثال، عندما قام عدد كبير من المجالات - 30، 60 أو 100. وهذا مجموعة القيادة BY. ويضم المؤتمر نتائج الاستعلام على أي أساس، على سبيل المثال معرف:

  • nekiy_sayt / index.php؟ ID = 25 GROUP BY 5.

إذا لم يتم تلقي الخطأ، ثم حقول أكثر من 5. وهكذا، استبدال خيارات من مجموعة واسعة إلى حد ما، فمن الممكن لحساب كم منهم فعلا.

هذا المثال SQL-حقن - للمبتدئين الذين يرغبون في تجربة أنفسهم في اختبار موقعها. من المهم أن نتذكر أن الوصول غير المصرح به للمادة أخرى متوفرة من القانون الجنائي.

الأنواع الرئيسية للحقن

تنفيذ الضعف SQL-الحقن في عدة تجسيدات. وبجانب الأساليب الأكثر شعبية:

  • وUNION الاستعلام SQL الحقن. قد سبق أن نظرت مثال بسيط من هذا النوع أعلاه. ويتحقق ذلك بسبب خطأ في التحقق من البيانات الواردة، والتي لا يتم تصفيتها.

  • على أساس الخطأ حقن SQL. كما يوحي الاسم، يستخدم هذا النوع أيضا خطأ، وإرسال تعبيرات تتألف صحيحة نحويا. ثم هناك اعتراض الرؤوس استجابة وتحليل التي يمكن القيام بها في وقت لاحق SQL الحقن.

  • مرصوف الاستعلامات SQL الحقن. يتم تحديد هذه الثغرة الأمنية قبل تنفيذ طلبات متتالية. ويتميز هذا إضافة في نهاية علامة "؛" وغالبا ما تطبق هذا النهج للوصول إلى تنفيذ وظائف قراءة وكتابة البيانات أو نظام التشغيل، اذا سمحت الامتيازات ذلك.

برنامج للبحث عن نقاط الضعف-SQL

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

Sqlmap

الماسح الضوئي قوية جدا الذي يعمل مع معظم قواعد البيانات. وهو يدعم أساليب مختلفة لتنفيذ SQL الحقن. فمن لديه القدرة على التعرف تلقائيا على نوع من الانشقاق كلمة المرور التجزئة والقاموس. الحاضر وظيفية تحميل الملفات والتحميل من الخادم.

يتم تنفيذ التثبيت على لينكس باستخدام الأوامر:

  • بوابة استنساخ https://github.com/sqlmapproject/sqlmap.git sqlmap ديف،
  • cdsqlmap ديف /،
  • --wizard ./sqlmap.py.

ويندوز هو متاح كخيار مع سطر الأوامر واجهة المستخدم الرسومية.

jSQL حقن

jSQL حقن - أداة عبر منصة لاختبار استخدام الثغرات SQL. مكتوب بلغة جافا، لذلك يجب أن يتم تثبيت النظام JRE. قادرة على التعامل مع طلبات GET، وظيفة، رأس، الكعكة. وله واجهة رسومية سهلة.

تركيب حزمة البرامج هذه على النحو التالي:

مجلد مشترك https://github.com/`curl -s الشبكي: //github.com/ron190/jsql-injection/releases | البقرى-E -o "/ron190/jsql-injection/releases/download/v[0-9]{1،2}.[0-9]{1،2}/jsql-injection-v[0-9] . {1،2} [0-9] {1،2} جرة "| رئيس ن 1`

إطلاق هو عن طريق استخدام جافا القيادة جرة ./jsql-injection-v*.jar

من أجل البدء في موقع التجارب على ضعف SQL، تحتاج إلى إدخال العنوان في الحقل الأعلى. فهي منفصلة عن GET و POST. مع نتيجة إيجابية، وسوف تظهر قائمة الجداول المتوفرة في الإطار الأيسر. يمكنك الاطلاع عليها ومعرفة بعض المعلومات السرية.

علامة التبويب «الصفحة الادارية» تستخدم للعثور على لوحات الإدارية. على ذلك عن طريق القوالب الخاصة بالبحث تلقائيا نظام سجلات المستخدمين متميز. منها يمكنك الحصول على مجرد تجزئة كلمة مرور. لكنه في مربع الأدوات من البرنامج.

بعد العثور على جميع نقاط الضعف وحقن التحقيقات اللازمة، فإن أداة تسمح خادم لملء في الملف الخاص بك أو، على العكس، تحميل البرنامج من هناك.

SQLi قلابة V.7

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

أدوات للتدريب

Itsecgames.com في الموقع هناك مجموعة خاصة من الأدوات التي تسمح يبين المثال كيفية القيام حقن SQL واختباره. من أجل الاستفادة، فمن الضروري لتنزيل وتثبيت. يحتوي أرشيف مجموعة من الملفات، والذي هو هيكل للموقع. لتثبيته سوف تحتاج في النظام الحالي للمجموعة خادم ويب Apache، MySQL و PHP.

فك الأرشيف في مجلد خادم الويب، عليك أن تذهب إلى العنوان الذي تم إدخاله عند تثبيت هذا البرنامج. صفحة مع تسجيل المستخدم. هنا تحتاج إلى إدخال المعلومات الخاصة بك وانقر على «خلق». نقل المستخدم إلى شاشة جديدة، ونظام يطالبك لاختيار واحد من حالات الاختبار. ومن بين هؤلاء هناك على حد سواء وصفه عن طريق الحقن، والعديد من العناصر اختبارات أخرى.

فإنه يجدر النظر في مثال من نوع SQL-حقن GET / بحث. هنا تحتاج إلى تحديد وانقر فوق «هاك». قبل أن تظهر للمستخدم، والتقليد سلسلة بحثا عن موقع الفيلم. يمكن لفرز الأفلام تكون طويلة. ولكن لا يوجد سوى 10. على سبيل المثال، يمكنك محاولة لدخول الرجل الحديدي. وسوف يشير الفيلم، ثم الموقع يعمل، والجداول التي يحتوي عليها. الآن لدينا للتحقق مما إذا مرشحات أحرف خاصة النصي، في اشارة معينة. للقيام بذلك، قم بإضافة "في شريط العنوان". وعلاوة على ذلك، يجب أن يتم ذلك بعد عنوان الفيلم. والموقع يعطي خطأ خطأ: لديك خطأ في تركيب SQL الخاص بك؛ دليل للتحقق من الذي يتوافق مع إصدار خادم MySQL الخاص لبناء الجملة الصحيح استخدام بالقرب من '٪' 'في السطر 1، التي تنص على أن الأحرف لا تزال غير التعامل بشكل صحيح. لذلك يمكنك محاولة أن تكون بديلا طلبك. ولكن يجب علينا أولا حساب عدد من المجالات. فهو يستخدم لهذا النظام من قبل، والتي يتم تقديمها بعد علامات الاقتباس: http://testsites.com/sqli_1.php؟title=Iron+Man "ترتيب بواسطة 2 - وعمل = البحث.

هذا الأمر يعرض سوى معلومات عن الفيلم، وهذا هو، وعدد من الحقول أكبر من 2. الواصلة مزدوجة يخبر الخادم أن طلبات أخرى يجب أن يتم تجاهل. الآن لدينا لفرز، ووضع الأهمية المتزايدة طالما لا يتم طباعة الخطأ. في النهاية، اتضح أن الحقول ستكون 7.

الآن حان الوقت للحصول على شيء مفيد من القاعدة. وتعديل طفيف في الطلب في شريط العناوين، ليصل إلى نموذج: http://testsites.com/sqli_1.php؟title=Iron+Man نقابة حدد 1، قاعدة البيانات ()، المستخدم ()، 4، كلمة السر، 6، 7 من المستخدمين - وعمل = البحث. ونتيجة لتنفيذه سيكون عرض سلسلة مع التجزئة كلمة المرور، التي يمكن تحويلها بسهولة إلى رموز مفهومة باستخدام واحدة من الخدمات عبر الإنترنت. A مناشد قليلا والتقط اسم الحقل مع تسجيل الدخول، يمكنك الوصول إلى دخول شخص آخر، مثل مشرف للموقع.

المنتج له وزن الأنواع أنواع الحقن، والتي لممارسة. وينبغي أن نتذكر أن تطبيق هذه المهارات في الشبكة على مواقع الحقيقية قد تكون جريمة جنائية.

الحقن وPHP

وكقاعدة عامة، ورمز PHP و هي المسؤولة عن معالجة طلبات الضرورية الواردة من المستخدم. لذلك، على هذا المستوى تحتاج إلى بناء دفاع ضد SQL-الحقن في PHP.

أولا، دعونا نعطي بعض الإرشادات البسيطة، على أساس من الذي لا بد من القيام بذلك.

  • يجب دائما معالجة البيانات قبل وضعها في قاعدة البيانات. ويمكن أن يتم هذا إما عن طريق استخدام تعبيرات القائمة، أو من خلال تنظيم الاستفسارات يدويا. هنا، أيضا، ينبغي أن تأخذ في الاعتبار أن القيم الرقمية وتحويلها إلى نوع ما هو مطلوب.
  • تجنب دفع هياكل المراقبة المختلفة.

الآن قليلا عن قواعد تجميع الاستفسارات في الخلية للحماية ضد SQL الحقن.

في وضع أي تعبيرات الاستعلام من المهم أن تفصل البيانات من الكلمات الرئيسية SQL.

  • * اختر من الجدول حيث الاسم = الزرج.

في هذا التكوين، قد يظن النظام الذي الزرج - اسم أي مجال، لذلك تحتاج إلى احتوائه في الاقتباس.

  • SELECT * FROM جدول WHERE الاسم = 'الزرج ".

ومع ذلك، هناك أوقات عندما تكون القيمة نفسها تحتوي على اقتباسات.

  • SELECT * FROM جدول WHERE الاسم = 'كوت ديفوار ".

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

  • SELECT * FROM جدول WHERE الاسم = 'القط د \' ديفوار ".

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

هناك التوصيات التي يجب وضع اسم الحقل في backquotes. هذا الرمز على الجانب الأيسر من لوحة المفاتيح، جنبا إلى جنب مع تيلدا "~". هذا هو التأكد من أن الخلية يمكن أن نميز بدقة اسم الحقل من الكلمات الرئيسية.

عمل ديناميكية مع البيانات

في كثير من الأحيان، للحصول على أية بيانات من قاعدة البيانات باستخدام الاستعلامات وديناميكيا. على سبيل المثال:

  • SELECT * FROM الجدول حيث عدد = '$ عدد.

هنا، يتم تمرير عدد $ متغير كما تحديد قيمة الحقل. ماذا سيحدث اذا وقفت "كوت ديفوار"؟ خطأ.

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

لإضافة مستقلة من خط مائل يمكن استخدام mysql_real_escape_string.

$ عدد = mysql_real_escape_string (عدد $)؛

$ السنة = mysql_real_escape_string ($ السنة)؛

$ سؤال = "INSERT INTO الجدول (رقم، والسنة، الفئة) VALUES ( 'عدد $'، '$ العام، 11)".

وعلى الرغم من زيادة رمز وفي الحجم، بعد يحتمل أن يعمل أكثر أمانا.

النائبة

النائبة - وهو نوع من علامات التي يعترف النظام أن هذا هو المكان تحتاج إلى استبدال وظيفة خاصة. على سبيل المثال:

$ ساطع = $ mysqli-> إعداد ( "منطقة SELECT من عدد WHERE الاسم =؟")؛

$ Sate-> bind_param ( "ليالي"، $ عدد)؛

$ Sate-> تنفيذ ()؛

يأخذ هذا القسم من التعليمات البرمجية طلب التدريب القالب ثم يربط عدد متغير، وتنفيذ ذلك. هذا النهج يسمح لك لتقسيم معالجة الاستعلام وتنفيذه. وهكذا، فإنه يمكن انقاذه من استخدام الشيفرات الخبيثة هي SQL-.

ما قد مهاجم

نظام حماية - عامل مهم جدا، والتي لا يمكن تجاهلها. بطبيعة الحال، سوف موقع بطاقة عمل بسيط يكون من الأسهل لاستعادة. وإذا كان بوابة كبيرة، خدمة، منتدى؟ ما هي العواقب إذا كنت لا تفكر في الأمن؟

أولا، يمكن للهاكر كسر سلامة كل من القاعدة وحذفها تماما. وإذا كان المسؤول عن الموقع أو هوستر لا يجعل نسخة احتياطية، سيكون لديك الأوقات الصعبة. قبل كل شيء، دخيل، وتكسير موقع واحد، يمكن أن يذهب إلى أخرى نشرت في نفس الخادم.

التالي هو سرقة المعلومات الشخصية من الزوار. كيفية استخدام - كل شيء محدود فقط من مخيلة القراصنة. ولكن على أي حال، فإن العواقب لن تكون لطيفا جدا. خاصة إذا وردت المعلومات المالية.

أيضا، يمكن للمهاجم دمج قاعدة بيانات نفسك ومن ثم ابتزاز المال لعودتها.

المستخدمين التضليل باسم المسؤول عن الموقع، والشخص الذي لا يجري، ويمكن أيضا أن تكون نتائج سلبية على أنها حقائق الاحتيال المحتملة.

استنتاج

يتم تقديم جميع المعلومات في هذه المقالة لأغراض إعلامية فقط. استخدامها تحتاج فقط لاختبار مشاريعهم الخاصة عندما يكشف نقاط الضعف ومعالجتها.

لإجراء دراسة أكثر تعمقا من تقنيات كيفية إجراء SQL الحقن، فمن الضروري أن تبدأ مع القدرات البحثية الفعلية وملامح من لغة SQL. كما الاستفسارات المترجمة، الكلمات الرئيسية، وأنواع البيانات، واستخدام كل شيء.

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

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

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

للدراسة المهنية لموظفي أمن المعلومات القائمة سوف تكون قادرة على التحقق من موقع لمجموعة متنوعة من المعايير وعمق. بدءا من بسيطة HTML-الحقن والهندسة الاجتماعية والتصيد.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ar.unansea.com. Theme powered by WordPress.