[CENTER]السلام عليكم ورحمة الله تعالى وبركاته اليوم معنا درس في كيفيت تجنب الحقن السكويل في الموقع :icon26: [RIGHT] تعريف الحقن الاسكويل : ثغرات الاسكويل...

الحالة
مغلق و غير مفتوح للمزيد من الردود.

ReD-HaT

<font color="blue">~</font><font color="red">|M4$T
تجنب الحقن (جزء 1) sQL Injection
السلام عليكم ورحمة الله تعالى وبركاته

اليوم معنا درس في كيفيت تجنب الحقن السكويل في الموقع :icon26:


  1. تعريف الحقن الاسكويل : ثغرات الاسكويل تعد من أخطر و أكثر الثغرات شيوعا في المواقع التي تدعم لغة php
  2. في هدا الدرس سنشرح مبدأ الحقن sql , وكيفية تجنبه

- ادن ثغرات السكويل هي ثغرات جد كبيرة و خطيرة على المواقع , و خصوصا ادى كان الموقع فضاء للأعضاء كالمنتدى مثلا , أو موقع فيه معلومات عن الأدمن و اليوزرس
و طبعا تكون قاعدة البيانات MYSQL

أنا هنا قلت MYSQL لأنه توجد عدة قواعد بيانات ك: oracle , sqlite , postgreSQL ,microsoft SQL server ...... سوف أتطرق لشرحها في دروس قادمة

المهم حتى نبدأ الدرس لازم تكون عندك دراية كافية بلغة php و تعرف كل شئ عنها


طرح المشكل

-يوجد نوعان من الحقن sql :


  • الحقن عن طريق المتغيرات التي تحتوي على سلاسل من أوامر الطباعة

  • الحقن عن طريق المتغيرات الرقمية



  1. المتغيرات التي تحتوي على سلاسل الطباعة
- نفترض انه لدينا سكربت php الدي سبيحث مثلا عن عمر عضو بوظيفة اليوزر
هدا اليوزر مر من صفحة لأخرى عن طريق الرابط l'URL عبر GET_$

مثال لسكريبت :
PHP:
 <?php ... $pseudo = $_GET***91;'user'***93;; $requete = mysql_query("SELECT age FROM membres WHERE user='$user'"); ...

- ادن اعلموا على ان هدا السكربت هو ثغرة كبيرة للحقن sql

- يكفي للهكر أن يضع في الرابط l'URL طلب مثل هدا :

كود:
' UNION SELECT password FROM membres WHERE id=1
- بهدا الطلب الهكر هنا يريد الحصول على الباسورد للعضو الدي يحمل الايدي واحد id=1
- لن أتعمق أكثر هنا أعطيتكم مجرد توضيح عن الكيفية

طريقة حماية السكربت

- لحماية هدا النوع من الحقن يكفي اضافة الوظيفة mysql_real_escape_string()

- اها طب كيف تعمل و ماهي وظيفتها ؟

-- هده الوظيفة تضيف طباعة "/" الى الطباعات التالية :

كود:
NULL, \x00, \n, \r, \, ', " et \x1a

- اوكي , في مادا تصلح ؟

-- مثلما لاحظتم في الحقن السابق الهاكر استعمل الاستعلامة ' لكي يخرج ما يحيط ب user$ ادى نحن منعناه من عمل هدا فلن يستطيع الحقن
ادن نستخلص اننا بستعمالنا mysql_real_escape_string() نكون قد فعالنا الحماية للطلب الدي يريده الهاكر

-تطبيق:
PHP:
<?php ... $user = mysql_real_escape_string($_GET***91;'user'***93;); $requete = mysql_query("SELECT age FROM membres WHERE user='$user'"); ...
بتدقيق :

الهاكر يعطي أمر هكدا
كود:
' UNION SELECT password FROM membres WHERE id=1
نحن باستعمالنا ل mysql_real_escape_string() يصبح طلب الهاكر هكدا

كود:
\' UNION SELECT password FROM membres WHERE id=1
مما يعني انه لا يستطيع استخراج user$ بما ان "/" قد أضيفت

ملحوظة : توجد وظيفة أخرى
كود:
addslashes()
تستعمل في PHP 4.3.9 مع magic_quotes_gpc يكون مفعلا

- انتهينا من الشرح في :

  • الحقن عن طريق المتغيرات التي تحتوي على سلاسل من أوامر الطباعة
-- في الدرس التاني سوف نرى الاستغلال و الحماية في المتغيرات الرقمية

  • الحقن عن طريق المتغيرات الرقمية

تم الشرح من طرف

ReD-HaT

الى اللقاء في الدرس القادم و في شروحات أخرى ان شاء الله

تحياتي للجميع

:14:
 
التعديل الأخير:

vpn_31

Security
تجنب الحقن (جزء 1) sQL Injection
رد: تجنب الحقن (جزء 1) sQL Injection

تسلم يديك على طرح يأخي :)
بلفعل أنها أخطر ألثغراة
 

ReD-HaT

<font color="blue">~</font><font color="red">|M4$T
تجنب الحقن (جزء 1) sQL Injection
رد: تجنب الحقن (جزء 1) sQL Injection

تسلم أخي على مرورك الحلو ^^
 

Cyber Code

<img src="http://vbspiders.com/vb/images/rank/prin
HaCkEr
تجنب الحقن (جزء 1) sQL Injection
رد: تجنب الحقن (جزء 1) sQL Injection

بارك الله فيك , الحقن اكثر ثغرة يقع فيها المبرمجين عادتاً
 
تجنب الحقن (جزء 1) sQL Injection
رد: تجنب الحقن (جزء 1) sQL Injection

بارك الله فيك يا ريد :)
بس ياريت تعمل مثلا ملف txt وترفق فيها الاكواد لانها مشفره
 

Dr.NaNo

New Member
تجنب الحقن (جزء 1) sQL Injection
رد: تجنب الحقن (جزء 1) sQL Injection

شكرآ لك بارك الله فيك واصل ابداعكـ . أتمنى في الدروس القادمة وضع مسافات في الكلمات التي يشفرها المنتدى. وبالتوفيق. Dr.NaNo
 

المفترس

:: مهووس الكمبيوتر ::
تجنب الحقن (جزء 1) sQL Injection
رد: تجنب الحقن (جزء 1) sQL Injection

مشكور حبيبي
ههههههه فكرتن باستادة الفلسفة عندم وضعت طرح مشكل

المهم الله يجازيك
 

hk-nanou

New Member
تجنب الحقن (جزء 1) sQL Injection
رد: تجنب الحقن (جزء 1) sQL Injection

شكرا لك اخي الكريم على الموضوع ومعلومات القيمة
 

M.tµcX

New Member
تجنب الحقن (جزء 1) sQL Injection
رد: تجنب الحقن (جزء 1) sQL Injection

:cool: يعطيكك الف عافية يالغال
 

mimo-dz

Moderator
تجنب الحقن (جزء 1) sQL Injection
رد: تجنب الحقن (جزء 1) sQL Injection

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