Ahmed Hamza
  • Home
  • Writeups
  • Tutorials
  • IT-Project

XSS طريقة إصلاح ثغرة

السلام عليكم ,
شرح طريقة إصلاح ثغرة XSS باستخدام دالة ()htmlspecialchars :

تقوم دالة ()htmlspecialchars بفلترة المدخلات التي يقوم المستخدم بادخالها.
تقوم الدالة بعمل Encode او تشفير للحروف الخاصة مثل : [ "><' ] لهذا السبب ستبطل خاصيتهم ولن يتم تنفيذ اكواد جافاسكربت في المتصفح

اولا : الكود المصاب في لغة PHP لاستقبال البيانات من المستخدم

 <?php echo "Welcome " . $_GET["name"]; ?>  

لاحظ بان دالة GET['name']_$ تقوم باستقبال البيانات وعرضها باستخدام echo بدون تحقق وفلترة
لذالك سيقوم Attacker باستغلال الثغرة عن طريق حقن كود خبيث :

 https://target.com?name=Ahmed<script>alert(document.domain)</script>  

Image Is Not Found ...

Source code :

Image Is Not Found ...

ثانيا : البرمجة الآمنة , سيقوم الكود بالتحقق من كل المدخلات وفلترتها وعمل Encode للاحرف الخاصة :

 <?php echo htmlspecialchars($_GET['name']); ?>  

لاحظ بان دالة GET['name']_$ تقوم باستقبال البيانات وقبل ان يتم معالجة البيانات وارجاعها الى المستخدم سيتم تمرير البيانات الى دالة ()htmlspecialchars لفلترتها وعمل Encode للمدخلات الخبيثة , سيتم طباعة المدخلات بدون ان يتم تنفيذها

 https://target.com?name=Ahmed<script>alert(document.domain)</script>  

Image Is Not Found ...

Source code :

Image Is Not Found ...

Video :