
XSS Fuzzer هي أداة تقوم بتوليد حمولات XSS بناءً على متجهات وقوائم فازينغ يحددها المستخدم.
XSS Fuzzer هو تطبيق بسيط مكتوب بلغة HTML/JavaScript/CSS عادية، يقوم بتوليد حمولات XSS بناءً على متجهات يحددها المستخدم باستخدام عناصر نائبة متعددة يتم استبدالها بقوائم الفازّينغ (fuzzing).
يوفر إمكانية توليد الحمولات كنص عادي أو تنفيذها داخل iframe. داخل iframes، يمكن إرسال طلبات GET أو POST من المتصفح إلى عناوين URL عشوائية باستخدام الحمولات المولدة.
XSS Fuzzer هي أداة عامة يمكن أن تكون مفيدة لأغراض متعددة، منها:
من أجل الفازّينغ، من الضروري إنشاء عناصر نائبة، على سبيل المثال:
<[TAG] [ATTR]=Something [EVENT]=[SAVE_PAYLOAD] />
سيتم استبدال العنصر النائب [SAVE_PAYLOAD] بكود JavaScript مثل alert(unescape('[PAYLOAD]'));.
يتم تشغيل هذا الكود عند تنفيذ حمولة XSS بنجاح.
ستكون النتيجة لقوائم الفازّينغ والحمولة المذكورين كما يلي:
<svg src=Something onerror=alert(unescape('%3Csvg%20src%3DSomething%20onerror%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg value=Something onerror=alert(unescape('%3Csvg%20value%3DSomething%20onerror%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg src=Something onload=alert(unescape('%3Csvg%20src%3DSomething%20onload%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg value=Something onload=alert(unescape('%3Csvg%20value%3DSomething%20onload%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
عند تنفيذها في متصفح مثل Mozilla Firefox، سينبّه المتصفح بالحمولات المنفذة:
<svg src=Something onload=[SAVE_PAYLOAD] />
<svg value=Something onload=[SAVE_PAYLOAD] />
من الممكن استخدام صفحة معرضة لـ XSS لاختبارات مختلفة، مثل تجاوز مدقق XSS في المتصفح. يمكن أن تستقبل الصفحة معلمة GET أو POST تسمى payload وستقوم فقط بعرض قيمتها غير المفلترة.
يمكن العثور على نسخة مباشرة على https://xssfuzzer.com
التطبيق في حالة تجريبية (beta) لذا قد يحتوي على أخطاء. إذا كنت ترغب في الإبلاغ عن خطأ أو تقديم اقتراح، يمكنك استخدام مستودع GitHub أو يمكنك إرسال بريد إلكتروني لي على contact [a] xssfuzzer.com.