Teď jste offline a čekáte, až se znova připojí internet.

تَوفُّر الأداة Microsoft Source Code Analyzer for SQL Injection للعثور على الثغرات الأمنية التي تسمح بإدخال SQL في التعليمة البرمجية لـ ASP‏

مقدمة
تتناول هذه المقالة الأداة Microsoft Source Code Analyzer for SQL Injection. يمكنك استخدام أداة التحليل الثابت للتعليمات البرمجية هذه للعثور على الثغرات الأمنية التي تسمح بإدخال SQL في التعليمة البرمجية لـ ASP.
معلومات أخرى
الأداة Microsoft Source Code Analyzer for SQL Injection هي أداة التحليل الثابت للتعليمات البرمجية، وهي تساعدك في العثور على الثغرات الأمنية التي تسمح بإدخال SQL في التعليمة البرمجية لـ "صفحات الخادم النشطة" (ASP). تتناول هذه المقالة كيفية استخدام الأداة والتحذيرات التي تقوم بإنشائها بالإضافة إلى القيود الخاصة بها. راجع مستند "الملف التمهيدي" الخاص بالأداة للحصول على مزيد من المعلومات.

المتطلبات الأساسية

تتطلب أداة سطر الأوامر هذه البرنامج التالي:
  • ‎.NET Framework 3.0

مشكلات إدخال SQL في التعليمة البرمجية لـ ASP

في حالة استخدام بيانات يوفرها المستخدم من مجموعات Request.Form أو Request.Querystring في التعليمة البرمجية لـ ASP لإنشاء عبارات SQL ديناميكية بدون أي تحقق من البيانات، يمكن لمهاجم إدخال أوامر SQL في عبارة SQL ثم يستخدمها بشكل غير صحيح بعد ذلك. وهذا ما يعرف عامةً باسم First Order SQL injection vulnerability (ثغرات أمنية من الدرجة الأولى تسمح بإدخال SQL).

في حالة تخزين إدخال المستخدم في قاعدة بيانات باستخدام إحدى صفحات ASP، ثم تم استرداد إدخال المستخدم بعد ذلك من قاعدة البيانات واستخدامها لإنشاء عبارات SQL ديناميكية في صفحة ASP مختلفة، يمكن لمهاجم إدخال أوامر SQL في عبارة SQL ثم استخدامها بشكل غير صحيح. وهذا ما يعرف عامةً باسم Second Order SQL injection vulnerability (ثغرات أمنية من الدرجة الثانية تسمح بإدخال SQL).

للتقليل من هذه الثغرات الأمنية، من الأفضل استخدام استعلامات SQL بمعلمات. للحصول على مزيد من المعلومات حول الثغرات الأمنية التي تسمح بإدخال SQL في ASP وحول طرق تقليل هذه الثغرات الأمنية، الرجاء زيارة موقع Microsoft التالي على الويب: تساعدك الأداة Microsoft Source Code Analyzer for SQL Injection في العثور على بعض هذه المشكلات تلقائيًا.

الاستخدام

يوضح هذا القسم كيفية استخدام الأداة.

بناء الجملة

تستخدم هذه الأداة بناء الجملة التالي:
msscasi_asp.exe [/nologo] [/quiet] ‪[/suppress=num;..;num] [/GlobalAsaPath=path] ‫/]IncludePaths=path;..;path]/Input=file.asp‏

الوصف

تعمل الأداة على تحليل الثغرات الأمنية التي تسمح بإدخال SQL في التعليمة البرمجية لـ ASP.

قائمة المعلمات

المعلمة الخيار الوصف
‎/GlobalAsaPathالمسارتعرض مسار الملف Global.asa.
‎/IncludePathsالمساراتتعرض مسارات مفصول بينها بفاصلة منقوطة لحل الملفات المضمنة باستخدام المسارات الظاهرية.
‎/inputملف aspتعرض المسار المطلق للملف ASP الذي يجب تحليله.
‎/suppress warnings لا يتم الإبلاغ عن التحذيرات.
‎/nologo لا يتم عرض شعار الأداة.
‎/quietلا يتم عرض أخطاء التحليل. عند استخدام المُبدّلين ‎/nologo و‎/quiet، يتم عرض رسائل التحذير فقط.

أمثلة

‪MSSCASI_ASP /input="c:\source\logon.asp"MSSCASI_ASP ‪/GlobalAsaPath="C:\source"/input="c:\source\webitems\display.asp"MSSCASI_ASP /GlobalAsaPath="C:\source" /input="c:\source\webitems\display.asp" /IncludePaths="C:\virtualdirectory1;C:\virtualdirectory2"MSSCASI_ASP /input="c:\source\webitems\display.asp" /suppress="80406;80407"

مراجعة النتائج

تقوم الأداة بإنشاء التحذيرات التالية:
تحذيرالوصف
80400احتمال وجود ثغرة أمنية تسمح بإدخال SQL من خلال بيانات مقروءة من الكائن Request بدون أي تحقق من الإدخالات. هذه التحذيرات أخطاء يجب إصلاحها على الأرجح.
80406احتمال وجود ثغرة أمنية تسمح بإدخال SQL من خلال بيانات مقروءة من الكائن Request حيث يتم تمرير الإدخال من خلال بعض استدعاءات دوال غير معروفة قد تقوم بالتحقق من البيانات. إذا لم يتم التحقق من البيانات داخل استدعاء الدالة، فمن الأرجح أن تكون أخطاء. بخلاف ذلك، هي نتائج إيجابية خاطئة.
80403احتمال وجود ثغرة أمنية تسمح بإدخال SQL من خلال بيانات قادمة من خادم خلفية. إذا تحكم المستخدم في البيانات من خلال موقع ويب آخر، فهي على الأرجح أخطاء. ومع ذلك، إذا كانت البيانات موثوق بها، فقد لا تكون أخطاء. يفضّل وضع معلمات لهذه الاستعلامات كجزء من استراتيجية العمق الدفاعي.
80407احتمال وجود ثغرة أمنية تسمح بإدخال SQL من خلال بيانات قادمة من خادم خلفية ويتم تمريرها من خلال بعض استدعاءات دوال غير معروفة. إذا تحكم المستخدم في البيانات من خلال موقع ويب آخر، ولم يتم التحقق من هذه البيانات، فهي على الأرجح أخطاء.
80420احتمال وجود ثغرة أمنية تسمح بإدخال SQL من خلال معلمات الدوال. يتم إنشاء هذه التحذيرات في نطاق الدوال. ولهذا، إذا جاءت قيم معلمات الدوال من مصادر موثوقة، فهي نتائج إيجابية خاطئة. إذا كان المستخدمون يتحكمون في قيم المعلمات، فهي على الأرجح أخطاء. يمكنك استخدام التعليق التوضيحي ‎__sql_pre_validated على معلمات الدوال للكشف عما إذا كان المستخدمون يستطيعون الوصول إلى هذه التعليمة البرمجية أم لا.
80421احتمال وجود ثغرة أمنية تسمح بإدخال SQL من خلال معلمات الدوال، ويتم تمرير معلمات الدوال من خلال بعض استدعاءات دوال غير معروفة قد تقوم بإجراء تحقق من البيانات. يمكن استخدام التعليق التوضيحي ‎__sql_pre_validated على معلمات الدالة و‎__sql_validate على دالة التحقق للكشف إذا كان المستخدمون يستطيعون الوصول إلى هذه التعليمة البرمجية أم لا.
التحذير 80400 هو أصح التحذيرات إشارةً إلى وجود أخطاء حقيقية من بين كافة التحذيرات التي تنشئها الأداة. يجب على مطوري ويب ASP إصلاح هذه الأخطاء باستخدام استعلامات لها معلمات. لمزيد من المعلومات حول كيفية استخدام استعلامات SQL بمعلمات في تعليمة برمجية في ASP، الرجاء زيارة موقع Microsoft التالي على الويب:

القيود

فيما يلي قيود الأداة:
  • لا تفهم الأداة سوى تعليمات ASP البرمجية المكتوبة في VBScript. ولا تعمل حاليًا على تحليل تعليمة برمجية من جانب المستخدم مكتوبة بأي لغة أخرى مثل Jscript.
  • تم تطوير محلل ASP جديد كجزء من عملية تطوير هذه الأداة. ومع ذلك، قد لا يغطي هذا المحلل كافة وحدات إنشاء ASP. ولذلك، قد ترى بعض الأخطاء في التحليل.
مراجع
لتنزيل الأداة Microsoft Source Code Analyzer for SQL Injection، الرجاء زيارة موقع Microsoft التالي على الويب: لمزيد من المعلومات حول العديد من أفضل وثائق الممارسات، الرجاء زيارة موقع Microsoft التالي على الويب: لمزيد من المعلومات حول منع إدخالات SQL في ASP، الرجاء زيارة موقع Microsoft التالي على الويب: لمزيد من المعلومات حول هجمات إدخالات SQL، الرجاء زيارة موقع Microsoft التالي على الويب: لمزيد من المعلومات حول الأداة، الرجاء زيارة موقع Microsoft التالي على الويب: قم بزيارة موقع Microsoft التالي على الويب لمعرفة المزيد حول الأداة في المنتدى MSDN SQL Security:
Vlastnosti

ID článku: 954476 - Poslední kontrola: 06/26/2008 18:58:40 - Revize: 1.1

Microsoft ASP.NET 2.0

  • atdownload kbexpertiseadvanced kbcode kbexpertiseinter kbinfo kbsecadvisory kbsecurity kbsecvulnerability KB954476
Váš názor
location.protocol) + "//c.microsoft.com/ms.js'><\/script>"); "Footer_Trademarks" data-bi-slot="3"> العلامات التجارية
  • © 2016 Microsoft
  • p;did=1&t=">id=1&t=">/html>