حالة الموضوع:
مغلق
  1. V!P-Hero

    V!P-Hero DeveloPer Plus

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

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

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

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

    #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']);
    استخدام الفلترة الصحيحة والقوية

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

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