• بواسطة x32x01 ||
شرح طريقة إصلاح ثغرة XSS باستخدام دالة ()htmlspecialchars :
تقوم دالة ()htmlspecialchars بفلترة المدخلات التي يقوم المستخدم بادخالها.

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

اولا : الكود المصاب في لغة PHP لاستقبال البيانات من المستخدم
Code:
 <?php echo "Welcome " . $_GET["name"] ; ?>

لاحظ بان دالة GET['name']_$ تقوم باستقبال البيانات وعرضها باستخدام echo بدون تحقق وفلترة
لذالك سيقوم Attacker باستغلال الثغرة عن طريق حقن كود خبيث :
Code:
https://target.com?name=Ahmed<script>alert(document.domain)</script>
vuln-code1.png
Source code
vuln-code2.png
ثانيا : البرمجة الآمنة , سيقوم الكود بالتحقق من كل المدخلات وفلترتها وعمل Encode للاحرف الخاصة :
Code:
 <?php echo htmlspecialchars($_GET['name']); ?>

لاحظ بان دالة GET['name']_$ تقوم باستقبال البيانات وقبل ان يتم معالجة البيانات وارجاعها الى المستخدم سيتم تمرير البيانات الى دالة ()htmlspecialchars لفلترتها وعمل Encode للمدخلات الخبيثة , سيتم طباعة المدخلات بدون ان يتم تنفيذها
Code:
https://target.com?name=Ahmed<script>alert(document.domain)</script>
secure-code1.png
Source code
secure-code2.png
Video
 

المشاركات المتشابهة

الردود
0
المشاهدات
7
الردود
0
المشاهدات
14
الردود
0
المشاهدات
14
الردود
0
المشاهدات
12
الردود
0
المشاهدات
11
الوسوم : الوسوم
xss ثغرة xss
عودة
أعلى