تراجع إلى الخلف   :: TRAIDNT FORUM :: > قسم تطوير المواقع > ركن لغات البرمجه

ركن لغات البرمجه :: لغات البرمجه php و asp و Ajax و Java و غيرها

[درس] ثغرات حقن Sql والحماية منها في Php

ثغرات حقن SQL والحماية منها في PHP السلام عليكم ورحمة الله .. قبل البدء في الموضوع ثغرات حقن SQL أصبحت خطيرة لأبعد الحدود ولا يستهان

Like Tree3معجبون
  • 1 أضيفت بواسطة Yee7.com

اضافة رد
  #1  
قديمة 11 - 12 - 2007, 23:43 Yee7.com غير متواجد حاليآ بالمنتدى
:: عضو فعال ::
 





Yee7.com يستحق التميزYee7.com يستحق التميز

ثغرات حقن SQL والحماية منها في PHP

السلام عليكم ورحمة الله ..
قبل البدء في الموضوع ثغرات حقن SQL أصبحت خطيرة لأبعد الحدود ولا يستهان بها فأبسطها تكون بالوصول إلى البيانات وتعديلها أو حتى حذفها وأخطرها لا يمكن حصرها لتنوعها وقوتها
وضعت هذا الموضوع بعد أن رأيت بأن الكثير من السكريبتات العربية آخرها vbzoom هي ضحية لثغرات حقن SQL وهذا السبب الذي جعل الكثيرين يبتعدوا عن استخدامها والإتجاه نحو السكريبتات الأجنبية والمعربة.
أبسط طريقة للتسبب في خطأ SQL هو إدخال علامة التنصيص الكوما في الإنجليزية في اماكن إدخال البيانات سواء فورم ارسال أو في رابط ، في حال ظهر خطأ شبيه لما في الصورة التالية هنا تكون الخطورة حيث يمكن إستغلال الخطأ بوضع جمل إستعلامية SQL في منطقة الخطأ .. الخ ، وتتعدد الخطورة حسب ما ذكرت بالبداية.




وهنا مثال لعملية حقن SQL في صفحة PHP
رمز PHP:
 
   <?php
  
    
   $_POST
['username'] = 'shockshadow';
 
$_POST['password'] = "' OR ''='";
 
   
    
   
// البحث في قاعدة البيانات عن عضوية مشابهة لمدخلات المستخدم
 
$query "SELECT * FROM users WHERE user='".$_POST['username']."' AND password='".$_POST['password']."'";
 
mysql_query($query);
 
 
// لم نقم بفحص المتغير $_POST['password'] الذي أدخله المستخدم, قد يحتوي على أي أوامر يريدها المستخدم! وفي مثالنا هذا قام المستخدم بتخطي كلمة المرور:
 
?>


هذا يعني بأن الاستعلام الذي تم ارسالة أصبح كالتالي
رمز Code:
SELECT * FROM users WHERE user='aidan' AND password='' OR ''=''
لا تعليق!!


الحماية من ثغرات حقن SQL في PHP ، البعض بل الكثيرين وانا كنت أحدهم يستخدموا عمليات البحث في البيانات المدخلة وفحصها من احتوائها على رموز معينة يتم تحديدها مسبقاً وتنفيذ الأوامر في حال لم يوجد أي من هذه الرموز هذه الطريقة بدائية وقد تفقدنا الكثير من مميزات برامجنا... الأن سأشرح طريقة رسمية ومضمونة وبسيطة جداً تحقق نسبة أمان عالية في تفادي عمليات الحقن وأيضاً يمكننا إدخال أي نوع من الرموز بدون أية مشاكل!! وهي باستخدام إحدى دوال PHP المخصصة لذلك وهي الدالة
رمز PHP:
Mysql_real_escape_string() 
حيث يجب تمرير كل مدخلات المستخدم من خلال هذه الدالة حيث تعمل على فلترة وتحويل الرموز الخطيرة بحيث لا يكون لها أي تأثير في الاستعلام ويتم التعامل معها كنص عادي

مثالنا السابق مع عمل فلترة عن طريق الدالة للمدخلات:
رمز PHP:
 
   <?php
  
   
   $_POST
['username'] = 'shockshadow';
 
$_POST['password'] = "' OR ''='";
 
   
    
   
// البحث في قاعدة البيانات عن عضوية مشابهة لمدخلات المستخدم
 
$query "SELECT * FROM users WHERE user='"mysql_real_escape_string($_POST['username'])."' AND password='"mysql_real_escape_string($_POST['password'])."'";
 
mysql_query($query);


 
 
// لاحظ اننا قمنا بفلترة المتغيرات عن طريق الدالة وهنا يتم ابطال مفعول الحقن
 
?>


درسنا ينتهي هنا وسامحونا على الإطالة التي تعمدتها من أجل إستيعاب هذا النوع من الثغرات
للمزيد تفضل بزيارة الصفحة التالية
http://www.php.net/manual/en/function.mysql-real-escape-string.php

===========
جميع حقوق الشرح محفوظة للأمن الإلكتروني 2007
أخوكم ShockShadow

Tags
Secure against SQL injection attacks
الحماية من ثغرات حقن إس كيو إل SQL
العذاب معجب بهذا.
اضافة رد مع اقتباس نص هذه المشاركة
  رقم المشاركة : [ 2 ]
قديمة 11 - 12 - 2007, 23:47 آحمد جرافيكس غير متواجد حاليآ بالمنتدى
:: عضو نشيط ::
 
صورة 'آحمد جرافيكس' الرمزية
 


آحمد جرافيكس تميز بلا حدودآحمد جرافيكس تميز بلا حدودآحمد جرافيكس تميز بلا حدودآحمد جرافيكس تميز بلا حدودآحمد جرافيكس تميز بلا حدودآحمد جرافيكس تميز بلا حدودآحمد جرافيكس تميز بلا حدودآحمد جرافيكس تميز بلا حدودآحمد جرافيكس تميز بلا حدودآحمد جرافيكس تميز بلا حدودآحمد جرافيكس تميز بلا حدود
بيانات موقعي
اصدار المنتدى: لا أملك منتدى
افتراضي
آحمد جرافيكس
جزاك الله خير اخوي
توقيع آحمد جرافيكس
اللهم آدخـلني الجـنــة مـــع الآبـــــرار ياأرحم الراحمــيــن


سأعود قريبـــا إن شاء الله
  اضافة رد مع اقتباس نص هذه المشاركة
  رقم المشاركة : [ 3 ]
قديمة 11 - 12 - 2007, 23:53 TheStudent غير متواجد حاليآ بالمنتدى
:: عضو نشيط ::
 
صورة 'TheStudent' الرمزية
 


TheStudent مبدع بلا حدودTheStudent مبدع بلا حدودTheStudent مبدع بلا حدودTheStudent مبدع بلا حدودTheStudent مبدع بلا حدودTheStudent مبدع بلا حدودTheStudent مبدع بلا حدودTheStudent مبدع بلا حدودTheStudent مبدع بلا حدودTheStudent مبدع بلا حدودTheStudent مبدع بلا حدود
بيانات موقعي
اسم الموقع: خدمات برمجية
اصدار المنتدى: لا أملك منتدى
افتراضي
TheStudent
لاهنت يالغالي ...
توقيع TheStudent
للطلبات البرمجية و الدروس في لغة php


ترايدنت .. أيامُ لا تنسى !
  اضافة رد مع اقتباس نص هذه المشاركة
  رقم المشاركة : [ 4 ]
قديمة 11 - 12 - 2007, 23:58 حازم علي غير متواجد حاليآ بالمنتدى
:: عضو نشيط ::
 


حازم علي مبدع بلا حدودحازم علي مبدع بلا حدودحازم علي مبدع بلا حدودحازم علي مبدع بلا حدودحازم علي مبدع بلا حدودحازم علي مبدع بلا حدودحازم علي مبدع بلا حدودحازم علي مبدع بلا حدودحازم علي مبدع بلا حدودحازم علي مبدع بلا حدودحازم علي مبدع بلا حدود
بيانات موقعي
اسم الموقع: إيجي بلس
اصدار المنتدى: منتج اخر
افتراضي
حازم علي
شكراً لك أخي ...
موضوع ذات صلة
الحمايه في php -و تأمين المدخلات -من أجل php أمنه - و أكثر تحكماً
توقيع حازم علي
اشهد ان لا اله الا الله و ان محمد رسول الله
  اضافة رد مع اقتباس نص هذه المشاركة
  رقم المشاركة : [ 5 ]
قديمة 12 - 12 - 2007, 11:43 العذاب غير متواجد حاليآ بالمنتدى
.:: عضو متألق ::.
 
صورة 'العذاب' الرمزية
 


العذاب مبدع بلا حدودالعذاب مبدع بلا حدودالعذاب مبدع بلا حدودالعذاب مبدع بلا حدودالعذاب مبدع بلا حدودالعذاب مبدع بلا حدودالعذاب مبدع بلا حدودالعذاب مبدع بلا حدودالعذاب مبدع بلا حدودالعذاب مبدع بلا حدودالعذاب مبدع بلا حدود
أرسل رسالة بواسطة ICQ إلى العذاب أرسل رسالة بواسطة AIM إلى العذاب أرسل رسالة بواسطة MSN إلى العذاب أرسل رسالة بواسطة Yahoo إلى العذاب أرسل رسالة بواسطة Skype™ إلى العذاب
بيانات موقعي
اسم الموقع: صفوف
اصدار المنتدى: لا أملك منتدى
افتراضي
العذاب
درس مهم بارك الله فيك ,,
توقيع العذاب
  اضافة رد مع اقتباس نص هذه المشاركة
  رقم المشاركة : [ 6 ]
قديمة 13 - 12 - 2007, 22:27 الشعباوي غير متواجد حاليآ بالمنتدى
:: عضو جديد ::
 


الشعباوي يستحق التميز
افتراضي
الشعباوي
الصراحة درس وايد مهم ومفيد

يزاااك الله خيير ياخوي

وما تقصر...
  اضافة رد مع اقتباس نص هذه المشاركة
  رقم المشاركة : [ 7 ]
قديمة 14 - 12 - 2007, 13:22 دايم الحمد غير متواجد حاليآ بالمنتدى
::عضو مؤسس ::
 
صورة 'دايم الحمد' الرمزية
 


دايم الحمد مبدع بلا حدوددايم الحمد مبدع بلا حدوددايم الحمد مبدع بلا حدوددايم الحمد مبدع بلا حدوددايم الحمد مبدع بلا حدوددايم الحمد مبدع بلا حدوددايم الحمد مبدع بلا حدوددايم الحمد مبدع بلا حدوددايم الحمد مبدع بلا حدوددايم الحمد مبدع بلا حدوددايم الحمد مبدع بلا حدود
بيانات موقعي
اصدار المنتدى: لا أملك منتدى
افتراضي
دايم الحمد
موضوع مهم جدا

ما قصرت يالغالي
توقيع دايم الحمد
" شكرا ترايدنت "

بسبب التفرغ للحياة المستقبلية تم ايقاف البث -الاثنين 12 جمادى الآخرة 1429هـ -

شكرا تركي , شكرا هلال , شكرا ابو وليد , شكرا ابو عايض , شكرا أحمد , شكرا للجميع

سبحانك اللهم وبحمدك ، أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك
  اضافة رد مع اقتباس نص هذه المشاركة
اضافة رد

العلامات المرجعية

أدوات الموضوع
طرق العرض

ضوابط المشاركة
لا يمكنك اضافة مواضيع جديدة
لا يمكنك اضافة مشاركات
لا يمكنك اضافة مرفقات
لا يمكنك تعديل مشاركاتك

رمز [IMG] : متاحة
رمز HTML : معطّلة
المراجع : معطّلة
Refbacks are متاحة



الساعة معتمدة بتوقيت جرينتش +3 . الساعة الآن : 13:17.
المعهد غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي معهد ترايدنت ولا نتحمل أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)


Powered by vBulletin® Version 3.8.7
.Copyright ©2000 - 2013, Jelsoft Enterprises Ltd

SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.