النتائج 1 إلى 12 من 12

الموضوع: درس Sql-Injection + Cross Site Scripting

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    622

    درس Sql-Injection + Cross Site Scripting



    السلام عليكم ورحمة الله وبركاته




    اليوم جايب لكم درس في عمليات الأمان في الـ php وأختها الـ mysql.


    في هذا الدرس سوف نتطرق لطريقة سد ثغرات الـ mysql injection & Cross Site Scripting.

    أهم شي في برمجة الـ php والذي الكثير من الأخوان يتجاهله هو ( مخرجات الحقول ) في النماذج وهذا بحد ذاته منبع الخطورة.





    نبدأ بالدرس.....

    Sql-Injection


    ماذا لو كان نموذج يرسل متغير لصفحة معينة وهذه الصفحة تستعلم بهذا الشكل.

    كود PHP:
    <?php

    mysql_query
    ("SELECT * FROM db WHERE username='$_POST[data]'");

    ?>
    من خلال هذا الكود يستطيع أي شخص لديه فكره بسيطه عن الثغرات إختراق سكربتك بكل سهولة ( لن أشرح الطريقة وذلك حفاظاَ على الأخوان )

    فيجب على أي شخص عن إرسال متغير من خلال نموذج أن يقوم بالتالي:

    على سبيل المثال : المتغير الذي لدينا هو ( $_POST[data] ) كما في المثال السابق.

    يجب أن نقوم بفلترة المتغير قبل إستخراج الناتج ويكون بهذا الشكل

    كود PHP:
    $dataaddslashes(strip_tags($_POST[data])); 

    وبعد ذلك نقوم بالاستعلام بهذا الشكل

    كود PHP:
    <?php

    mysql_query
    ("SELECT * FROM db WHERE username='$data'");

    ?>
    وبذلك لا يستطيع أحد إرسال مخرجات من النماذج لإخترق السكربت.



    Cross Site Scripting

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


    لا تقم بهذه الطريقة أبداً

    كود PHP:
    include($_GET['page']); 
    أو
    كود PHP:
    header("Location: ".$_GET['page']); 

    لأنه بكل بساطه سيستطيع المخترق إرسال (كود جافا) لسحب الكوكيز على أقل تقدير. بهذا الشكل ( http://www.uu.com/script.php?page=ht...y.com/java.php



    وفي الختام أتمنى إني إستطعت شرح الدرس بكل سهولة.



    والسلام عليكم ورحمة الله وبركاته


    أخوكم : عامر الصيعري







  2. #2
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,123


    مشكور اخوي موضوع رائع .





    __________________
    htaccess بكل بساطة

    الشفرة الموحدة "يونِكود"

    (إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Jun 2005
    المشاركات
    117


    سلمت يداك أخي العزيز






  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Apr 2004
    المشاركات
    841


    السلام عليكم ورحمة الله وبركاته

    اخي EmiDes.Com

    يعطيك العافية على هذا الدرس ولكن لي سؤال

    لا تقم بهذه الطريقة أبداً


    كود PHP:
    include($_GET['page']);


    أو

    كود PHP:
    header("Location: ".$_GET['page']);




    لأنه بكل بساطه سيستطيع المخترق إرسال (كود جافا) لسحب الكوكيز على أقل تقدير. بهذا الشكل ( http://www.uu.com/script.php?page=h...oy.com/java.php



    وفي الختام أتمنى إني إستطعت شرح الدرس بكل سهولة.
    لم تذكر لنا ما هو الحل اذاً

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

    ارق تحية





    __________________
    Egypt Museum - متحف مصر، موقع يهتم بعلم المصريات وتاريخ وثقافة وفنون الحضارة المصرية القديمة.

  5. #5
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2004
    المشاركات
    929


    درس بسيط ومميز


    لا تحرمنما من هذه الدروس





    __________________
    سبحان الله وبحمده ،، سبحان الله العظيم
    تذكر هذه الآيه قبل ان تشارك( مَا يَلْفِظُ مِن قَوْلٍ إِلَّا لَدَيْهِ رَقِيبٌ عَتِيدٌ)

  6. #6


    بارك الله فيك
    لو تكرمت شرحت لنا عمل هذه الدوال التي ذكرتها
    كود PHP:
    addslashes() 
    كود PHP:
    strip_tags() 






    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    622


    اقتباس المشاركة الأصلية كتبت بواسطة LiMoO4uS
    السلام عليكم ورحمة الله وبركاته

    اخي EmiDes.Com

    يعطيك العافية على هذا الدرس ولكن لي سؤال



    لم تذكر لنا ما هو الحل اذاً

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

    ارق تحية

    كود PHP:
    $pages = array('index.html''page2.html''page3.html'); 
    if( 
    in_array($page$pages) ) 

       include(
    $page); 

    else 

      die(
    "Nice Try"); 








  8. #8
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    622


    اقتباس المشاركة الأصلية كتبت بواسطة Nadorino
    بارك الله فيك
    لو تكرمت شرحت لنا عمل هذه الدوال التي ذكرتها
    كود PHP:
    addslashes() 
    كود PHP:
    strip_tags() 

    strip_tags :: تستخدم لنزع وسوم الـ html من النص الممرر لها.

    addslashes :: تستخدم لإضافة شرطة مائلة في المدخلات الممرره.






  9. #9
    عضو فعال
    تاريخ التسجيل
    Nov 2002
    المشاركات
    1,092


    شكراً لهذا الشرح

    ولكن برأي للحماية التامة من SQL-injection

    يجب إستخدام الدالة mysql_real_escape_string

    فهي تحمي بشكل تام منها مثال

    كود PHP:
    <?
    $str 
    "Muslem's Car";
    $escaped  mysql_real_escape_string($str); 
    print 
    $escaped;
    ?>
    الناتج
    Muslem\'s Car





    __________________
    البريد
    almuslim@gmail.com
    الماسنجر
    muslem@php.net

  10. #10
    عضو جديد
    تاريخ التسجيل
    May 2006
    المشاركات
    28


    اقتباس المشاركة الأصلية كتبت بواسطة EmiDes.Com
    السلام عليكم ورحمة الله وبركاته

    Cross Site Scripting

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


    لا تقم بهذه الطريقة أبداً

    كود PHP:
    include($_GET['page']); 
    أو
    كود PHP:
    header("Location: ".$_GET['page']); 

    لأنه بكل بساطه سيستطيع المخترق إرسال (كود جافا) لسحب الكوكيز على أقل تقدير. بهذا الشكل ( http://www.uu.com/script.php?page=ht...y.com/java.php



    وفي الختام أتمنى إني إستطعت شرح الدرس بكل سهولة.



    والسلام عليكم ورحمة الله وبركاته


    أخوكم : عامر الصيعري
    مشكور اخوي ..

    سحب الكوكيز شي لا يذكر في استغلال هذا الخطأ فهو لا يحتاجه لانه سيتمكن من مخاطبة السيرفر مباشرة ..

    احترامي






  11. #11
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    48


    فعلا اخي درس مميز و الله ....

    و فعلا يجب مراعاة تلك الثغرات في اي برنامج php

    و زيادة علي ذلك يوجد كتاب لسد الثغرات في برامج php و هو PHP Security

    علي هذا الرابط http://www.powells.com/biblio?PID=71...sbn=0596007418

    و ايضا http://www.amazon.com/Pro-PHP-Securi...e=UTF8&s=books

    ياريت لو أحد يستطيع ان يحضرهم لنا ...

    و شكرا لك





    __________________
    مجلة مصري
    مجلة الكترونية شبابية نصف شهرية
    لمراستلي علي الماسنجر : karim-nour@hotmail.com

  12. #12
    عضو فعال
    تاريخ التسجيل
    Feb 2008
    المشاركات
    1,759


    عذرا لاعادة رفع الدرس مرة اخرى (2006)
    ولكنة درس هام جدا ومميز
    شكرا للأخ EmiDes.Com
    وأتسائل ان كان بالامكان عمل قسم خاص للدروس فى php





    __________________
    FaceBook Application Developer
    تعلم برمجة سكريبت جلب المحتوى خطوة بخطوة
    مشروعى داخل معرض الاتصالات
    لمراسلتي إضغط هنا
    سبحان الله وبحمده سبحان الله العظيم





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض