A Study in PHP Vulnerabilities - XSS
بسم الله الرحمن الرحيم
اللهم صل وسلم على سيدنا محمد وعلى آله وصحبه اجمعين
اللهم علمنا ماينفعنا وانفعنا بما علمتنا انك انت العليم الحكيم
اليوم درسنا عن ثغرات
اللهم صل وسلم على سيدنا محمد وعلى آله وصحبه اجمعين
اللهم علمنا ماينفعنا وانفعنا بما علمتنا انك انت العليم الحكيم
اليوم درسنا عن ثغرات
#
Cross-Site Scripting
النوع هذا يعتبر نوع من انواع الحقن لانه يعطينا الحرية بحقن كود خبيث في الموقع
نشوف الكود
<?php
$name=$_GET['name'];
print $name;
?>
مثل ماهو واضح المتغير name غير مفلتر والاستغلال راح يكون بالشكل التالي
http://127.0.0.1/test.php?name=<script>alert("XSS")</script>
ناخذ مثال ثاني
<?php
$name=addslashes($_GET['name']);
print '<table name="'.$name.'"></table>';
?>
الان اصبح المتغير مفلتر قليلا مثل ماهو واضح من استخدام الدالة addslashes
والتخطي راح يكون بالشكل التالي
http://127.0.0.1/test.php?name="><script>alert(String.fromCharCode(88,83,83))</script>
واستخدمنا " في بداية الاستغلال لقفل الاستعلام وليصبح سليم
و الدالة
String.fromCharCode لكي نتخطى الدالة addslashes
طريقة الاصلاح :
استخدام
htmlentities() او
htmlspecialchars()
مثال
$name=htmlentities($_GET['name']);
استخدام الفلترة الصحيحة والقوية
الى هنا ينتهي الدرس القاكم في دروس اخرى
تعليقات
إرسال تعليق