1. أهلا وسهلاً بكم في :: IQ-TeaM FORUM :: .
    إذا كانت هذه الزيارة الأولى أو لديك الرغبة بالانضمام لأعضاء شبكة عراق تيم فيجب الاطلاع على خصوصية الشبكه فربما بقائك زائر افضل لك من الانضمام بحيث أن قوانين شبكة عراق تيم لا تتناسب مع اهتماماتك .
    • للأطلاع على الخصوصية وسياسة الاستخدام - التفاصيل
    • بعد الاطلاع على سياسة الموقع وقوانين شبكة عراق تيم يمكنك التسجيل معنا - تسجيل عضو جديد
    إستبعاد الملاحظة
الكاتب : V!P-Hero | المشاهدات : 247 | الردود : 0
حالة الموضوع:
مغلق
  1. V!P-Hero DeveloPer Plus

    الأنتساب:
    ‏27 مارس 2012
    المشاركات:
    138
    الإعجابات المتلقاة:
    11
    نقاط الجائزة:
    50
    الإقامة:
    هنااااااك
    نظام التشغيل:
    Linux
    بسم الله الرحمن الرحيم

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

    اللهم صل وسلم على سيدنا محمد وعلى آله وصحبه اجمعين

    اليوم درسنا عن ثغرات

    #Cross-Site Scripting

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

    نشوف الكود

    [PHP CODE] <?php
    $name=$_GET['name'];
    print $name;
    ?>[/PHP CODE]

    مثل ماهو واضح المتغير name غير مفلتر والاستغلال راح يكون بالشكل التالي

    كود PHP:
    http://127.0.0.1/test.php?name=<script>alert("XSS")</script>
    ناخذ مثال ثاني

    [PHP CODE]<?php
    $name=addslashes($_GET['name']);
    print '<table name="'.$name.'"></table>';
    ?>[/PHP CODE]

    الان اصبح المتغير مفلتر قليلا مثل ماهو واضح من استخدام الدالة addslashes

    والتخطي راح يكون بالشكل التالي

    كود HTML:
    http://127.0.0.1/test.php?name="><script>alert(String.fromCharCode(88,83,83))</script>
    واستخدمنا " في بداية الاستغلال لقفل الاستعلام وليصبح سليم

    و الدالة String.fromCharCode لكي نتخطى الدالة addslashes

    طريقة الاصلاح :

    استخدام htmlentities() او htmlspecialchars()

    مثال

    كود PHP:
    $name=htmlentities($_GET['name']);
    استخدام الفلترة الصحيحة والقوية

    الى هنا ينتهي الدرس القاكم في دروس اخرى
     
حالة الموضوع:
مغلق

مشاركة هذه الصفحة