| فيديو: ثغرات SQL Injection في صفحات ASP |
| الكاتب زيد القريشي |
| الجمعة, 29 أكتوبر 2010 01:45 |
|
شرح اكتشاف واستغلال ثغرات SQL injection في صفحات ASP بسيرفرات Windows. قام الأخ أحمد العنتري بشرح إختراق MS SQL Server 2000 بإستخدام Sqlninja سابقا ولكن اليوم سنشرح سحب المعلومات من قاعدة البيانات عن طريق ثغرات SQL Injection لكن بشكل يدوي.
هناك برامج تقوم بسحب المعلومات من قاعدة البيانات و لكنها تفشل في معضم الاحيان بسبب وجود فلترة او لاسباب اخرى و هنا تأتي اهمية الطريقة اليدوية حيث سنتمكن من معرفة سبب فشل الهجوم و سنتمكن من تخطي الفلترة من خلال تشفير الاستعلام او باستخدام طرق تخطي الفلترة الاخرى.
الفيديو:
عن الكاتب:
التعليقات (27)
![]() أرسلت بواسطة: sec100 في October 29, 2010
شكرا جزيلا اخي زيد علي الحلقات الرائعة والمفيده
الله يزيدك من العلم انشاء الله أرسلت بواسطة: hackroon في October 30, 2010
يعطيك الف عافية على الشرح المميز
اتمنا تكثر الشروحات عن ثغرات المواقع وبالذات ال sql injection وياليت اذا عندك مواقع او كتب تنصحني بقراءتها لاحتراف ال sql injection تحط اسماء الكتب او المواقع أرسلت بواسطة: M.B.O في October 30, 2010
اولا اشكرك اخي زيد القرشي على هذا الدرس
عندي بعض الاستفسارات او بعض المشاكل واجهتني اثناء التطبيق طبقت كل الخطوات التي ذكرتها ولكن عند النقطه التي ذكرت انها خاصة باستخراج الجداول اي عند تنفيذ هذا الامر id=9 or 9=convert(int,(select+top+1+name+from+sysobjects)) ظهر لي نفس الخطأ الذي ظهر لك لكن استغربت من اسم الجدول ظهر لي الاسم بهذا الشكل "sysrowsetcolumns" وعند تنفيذ الخطوة التي بعدها اي عند تنفيذ هذا الامر or 1=convert(int,(select+top+1+name+from+sysobjects+where+ name+>'sysrowsetcolumns')) ظهرت لي الرسالة التالية Microsoft OLE DB Provider for SQL Server error '80040e14' An expression of non-boolean type specified in a context where a condition is expected, near ';'. وبعدها لم استطع اكمال باقي الخطوات ,, هل من طريقة اخرى لاستعراض اسماء الجداول في قاعدة البيانات ثم استعراض البيانات التي في الحقول ^_^ أرسلت بواسطة: Owtinod في October 30, 2010
بارك الله فيك اخي الغالي
حقيقة لقد دهشت بمستواك الكبير في ال sql injection أرسلت بواسطة: HACKER_CH في October 30, 2010
مشكور اخي الغالي زيد تحياتي لك و شرح رائع واصل ابداعك
أرسلت بواسطة: M.B.O في October 30, 2010
اخي زيد اشكرك على ردك
لكن طبقت الي قلت عليه وشفرت اسم الجدول با الهيكس عن طريق هذا الموقع http://www.string-functions.com/string-hex.aspx وكان ناتج تشفير كلمة sysrowsetcolumns الى 737973726f77736574636f6c756d6e73 وضعته بهذه الطريقة or 1=convert(int,(select top 1 name from sysobjects where name >737973726f77736574636f6c756d6e73)) ثم وضعته بهذه الطريقة or 1=convert(int,(select top 1 name from sysobjects where name >0x737973726f77736574636f6c756d6e73)) جربته على موقعين الموقع الاولى طلع لي هذه الرسالة مع الامرين Microsoft OLE DB Provider for SQL Server error '80040e14' Incorrect syntax near ';'. والموقع الثاني عند تنفيذ الامر الثاني لم يظهر اي خطأ وفتحت الصفحة عادية ؟؟؟ أرسلت بواسطة: M.B.O في October 30, 2010
اشكرك اخي زيد على الرد
جربت الطريقة لكن ما نفعت !! وايضا ً احب اقول لك اني ايضا ً ضد هذا الشي ,, ولكن احب ان اطبق لغرض التعلم وليس للتخريب ,, على العموم احب ان اتواصل معك على الايميل اذا لم يكن لديك مانع اخي زيد أرسلت بواسطة: Ali في October 31, 2010
الله يعطيك العافية يا أخي العزيز "زيد القريشي"
لدي بعض الاستفسارات البيسطة =) 1- ما الفرق بين sysobjects و information_schema.schemata ؟ 2- هذا النوع من الاستعلام يختص أي نوع من قواعد البيانات ؟ MSSQL,MSACCESS...etc أما يشمل جميع أنواعها ؟ 3- هل السكربت الذي تستعمله على الـ localhost؟ اذا كان كذلك أتمنى أن تطرح السكربت + موضوع يفيدنا في تركيب مفسر الـ asp + برنامج قواعد البيانات "Sql Server" على أنظمة Linux وأوبنتو تحديداً. لأني انبهت قطع الاتصال لديك لكان مع ذلك استمر الموقع =) . 4- على أي أساس استعملت العبارة "أكبر من" ؟ هل تعني العلامة الاستعلام التصاعدي من القاعدة؟ 5- أبدعت يا زيد فطمِعنا في كثرة الاستفسارات. أتمنى ألا أكون قد أثقلت عليك. احترامي لك يا أستاذي. أرسلت بواسطة: Ali في October 31, 2010
عذراً ، فأنا لا أستطيع تعديل تعليقي ؛ لذا كتبت تعليق أخر كتبت فيه استفسار بسيط آخر =)
ألا يوجد استعلام يشابه group أو Concat؟ احترامي ممزوج مع التقدير لك يا أخي زيد . أرسلت بواسطة: Ali في November 01, 2010
أخ زيد :-
لا أدري لكن الـ information_schema موجودة فعلاً على الـ Microsoft SQL Server ، وكنت أريد منك توضيح ماهو الفرق بين information_schema.schemata و sysobjects ؟ لأن من خلالهم أعتقد أني أستطيع أن أستعلم عن قواعد البيانات =) . جرب هذا الاستعلام أعتقد أنه سيظهر الـ databases التي أنت عليها الآن وأشكرك سعة صدرك يأخي زيد ، لكن عندما يتعلق الأمر بالـ Web App يصيبني الهوس! احترامي لك يا صديقي =) أرسلت بواسطة: Ali في November 01, 2010
' or 1 = convert(int,(select top 1 schema_name from information_schema.schemata))
عذراً كتبته مرة أخرى لأن الحماية محته في تعليقي السابق أرسلت بواسطة: Ali في November 02, 2010
شكراً لك أخي زيد والآن تبينت الأمور بفضل من الله ثم منك
"sysobjects سنحصل على كل الجداول الموجودة" هذه هي النقطة التي كانت سبب النقاش ففي شرحك قلت أنها لاستخراج القواعد . والآن وضحت النقطة احترامي لك يا صديقي أرسلت بواسطة: muhammad في November 05, 2010
بسم الله الرحمن الرحيم
اولاو اشكر كل الجهود التي بنت هذا الموقع بالفعل هو احد المواقع العربيه القويه في مجال الحماية والهاكينج ..0.. عندما حاولت ان احقن احد المواقع طهرت لي خطأ ارجو اطلاعي عن الحل هذه معلومات الحقنه or 1=convert(int,(db_name())) الخطأ اللذي ظهر [Microsoft][ODBC Microsoft Access Driver] Undefined function 'convert' in expression. وشكرا لكم أرسلت بواسطة: muhammad في November 05, 2010
نفس عملية الحقن لكن بخطأ اخر
Type mismatch: '[string: "107292 or 1=convert("]' انا اتعلم حقن الـ asp مع العلم باني اعرف طريقه حقن الـ Php وشكرا مرة اخرى أرسلت بواسطة: muhammad في November 05, 2010
نفس الحقنة بموقع اخر وخطأ جديد
Application uses a value of the wrong type for the current operation. اعذروني لكثره الاسالة لكني احب ان اعرف كل خطأ لماذا حصل لكي اعرف ماذا علي ان افعل وما هو حل كل خطأ أرسلت بواسطة: SyRiAn_34G13 في November 05, 2010
أشكرك أخي الكريم على هذا الطرح الجميل
المتابعة كانت ممتعة جداً و واضحة .. ننتظر شروحات أخرى . تحياتي لك SyRiAn 34G13 أرسلت بواسطة: dr-google في November 13, 2010
شكرا على كل مجهودا جميع الطاقم الادراي لهذا الموقع والله موقع على ايدي عربية يعني
وفقكم الله أرسلت بواسطة: marwan في February 12, 2011 أخي زيد أود أن أشكرك على هذا الفيديو الرائع لدي بعض الإستفسارات : الإستفسار الأول : في الأمر or 1=convert الرقم واحد هو نفسو لل id كما لدينا في موقع التجارب ؟؟ ( http://testasp.vulnweb.com/showforum.asp?id=1 or 1=convert ) الإستفسار الثاني : لما اردت استخرااج اسم أدمن الموقع و طلع مو هو باستعمال أمر convert(int,(select+top+1+uname+from+users اضظريت الى استعمال الأمر convert(int,(select+top+1+upass+from+users+where+uname= 'admin هنا في هذا الأمر يجب علنا أن قموم بالتخمين لإسم صاحب الموقع ( اللي هو admin ) ؟؟؟ صح ؟؟ اذ كان صح فمن الصعب العثور على اسم الأدمن ؟؟ فهل هناك حل ؟؟ اللي هو admin أضف تعليق
يجب عليك الاشتراك بالموقع لتتمكن من كتابة التعليقات, الاشتراك مجاني ويستغرق بضع ثوان فقط!
اذا كنت مشترك مسبقا في الموقع فضلاً قم بتسجيل الدخول. |









بارك الله فيك أخي زيد،
ويشرفني أن تضيفني عندك على المسنجر :
majed_19845@hotmail.com
لأنه بدي أحكي معك بكم موضوع
وشكرا
تحياتي