Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
domdig — ماسح ضوئي لثغرات DOM XSS لتطبيقات الصفحة الواحدة | Kitploit
أدوات/GitHubGitHub/fcavallarin/domdig
ماسحات الثغرات الأمنيةماسحات الثغرات الأمنية للويبالتحليل الديناميكي (عزل)أمن الويبالاختبار العشوائي
GitHubfcavallarin/domdig

domdig

ماسح ضوئي لثغرات DOM XSS لتطبيقات الصفحة الواحدة

عرض المستودع
42050منذ 10 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

DOMDig

DOMDig هو ماسح ضوئي لثغرات DOM XSS يعمل داخل متصفح Chromium ويمكنه مسح تطبيقات الصفحة الواحدة (SPA) بشكل تكراري.
على عكس الماسحات الأخرى، يمكن لـ DOMDig الزحف في أي تطبيق ويب (بما في ذلك Gmail) من خلال تتبع تعديلات DOM وطلبات XHR/fetch/websocket، ويمكنه محاكاة تفاعل مستخدم حقيقي عن طريق إطلاق الأحداث. خلال هذه العملية، يتم إدخال حمولات XSS في حقول الإدخال ويتم تتبع تنفيذها للعثور على نقاط الحقن والتعديلات المرتبطة بعنوان URL.
يعتمد على htcrawl، وهي مكتبة Node.js قوية بما يكفي للزحف بسهولة في حساب Gmail.

الميزات الرئيسية

  • يعمل داخل متصفح حقيقي (Chromium)
  • محرك زحف تكراري للـ DOM
  • يتعامل مع طلبات XHR وfetch وJSONP وwebsocket
  • يدعم الكوكيز والوكيل والرؤوس المخصصة والمصادقة HTTP وغيرها
  • تسلسلات تسجيل دخول قابلة للبرمجة النصية
  • مسجل تسلسل
  • مولد هجمات postMessage

البدء

التثبيت

root@kitploit:~
git clone https://github.com/fcavallarin/domdig.git
cd domdig && npm i && cd ..
node domdig/domdig.js

مثال

root@kitploit:~
node domdig.js -c 'foo=bar' -p http:127.0.0.1:8080 https://fcvl.net/htcap/scanme/domxss.php

الفحوصات المنفذة

يمكن لـ DOMDig إجراء ثلاثة فحوصات مختلفة:

  1. DOM XSS
  2. Stored DOM XSS
  3. Template Injection
  4. postMessage XSS

DOM XSS

يمكن تكوين فحص DOM XSS بأوضاع مختلفة، مما يتيح سلوكيات مختلفة. افتراضياً، جميعها مفعلة.
الأوضاع هي:

  1. domscan
  2. fuzz

domscan

يقوم بالزحف في الـ DOM بحثاً عن الأماكن التي يمكن للمستخدم من خلالها حقن كود JavaScript، مثل مربع النص. يمكنه اكتشاف نقاط الحقن التي لا يمكن للماسح تخمينها. مثال على ذلك وظيفة بحث تأخذ نص مربع الإدخال، ولتشغيل البحث تضعه في تجزئة عنوان URL (hash) كسلسلة JSON.

fuzz

يقوم بتوليد إدخالات عشوائية (fuzzing) لعنوان URL (معلمات الاستعلام والتجزئة) لمعرفة ما إذا كان الكود الخاص بنا يُنفَّذ عند تحميل الصفحة. إذا لم يُنفَّذ أي كود، فإنه يزحف في الـ DOM مطلقاً أحداث HTML على أمل العثور على شيء ينفذ الحمولة.
يمكنه أيضاً اكتشاف ثغرات Reflected XSS التقليدية.

Stored DOM XSS

بعد إجراء فحص DOM XSS، يقوم DOMDig بالزحف في نفس الصفحة منتظراً تنفيذ حمولات مستخدمة سابقاً. إذا تم العثور على واحدة، فهذا يعني أنها يمكنها البقاء بعد تحديث الصفحة.

Template Injection

يبحث عن الأماكن التي قد يتم فيها تقييم عناصر نائبة للقالب (مثل {var1}) ككود JavaScript.

الثغرات المبلغ عنها

كل ثغرة مبلغ عنها تحتوي على الحقول التالية:

  1. type: نوع الثغرة، يمكن أن يكون domxss, stored أو templateinj
  2. url: عنوان URL للصفحة عند العثور على الثغرة
  3. payload: الحمولة المستخدمة
  4. element: محدد CSS للعنصر HTML، إن وجد، حيث تم حقن الحمولة
  5. description: وصف نصي
  6. confirmed: تعتبر الثغرة مؤكدة عندما يحتوي عنوان URL على حمولة الهجوم. إذا لم تكن مؤكدة، فهذا يعني أن الكود تم تنفيذه بنجاح، ولكن قد يكون التحليل اليدوي ضرورياً لفهم العلاقة بين الحمولة المحقونة ونمط عنوان URL.

محرك الزحف

يستخدم DOMDig htcrawl كمحرك زحف.
يوضح الرسم البياني عملية الزحف التكراري.
SPA Crawling Diagram.
الفيديو أدناه يوضح المحرك وهو يزحف في Gmail. استمر الزحف لعدة ساعات وتم التقاط حوالي 3000 طلب XHR.

crawling gmail

تسلسل تسجيل الدخول

تسلسل تسجيل الدخول (أو التسلسل الأولي) هو كائن JSON يحتوي على قائمة من الإجراءات التي يجب اتخاذها قبل بدء الفحص.
كل عنصر في القائمة هو مصفوفة حيث العنصر الأول هو اسم الإجراء المراد اتخاذه والعناصر المتبقية هي "معاملات" لهذا الإجراء. الإجراءات هي:

  • navigate <url>
  • write <selector> <text>
  • select <selector> <value>
  • click <selector>
  • clickToNavigate <selector>
  • sleep <seconds>
  • setTarget <selector>

مثال

root@kitploit:~
[
   ["navigate", "https://target.local/login-page"],
   ["write", "#username", "demo"],
   ["write", "#password", "demo"],
   ["sleep", 2],
   ["clickToNavigate", "#btn-login"]
]

ملف الحمولات

يمكن تحميل الحمولات من ملف JSON (الخيار -P) كمصفوفة من السلاسل النصية. لبناء حمولات مخصصة، يجب استخدام السلسلة window.___xssSink({0}) كالدالة المراد تنفيذها (بدلاً من alert(1) الكلاسيكية).

مثال

root@kitploit:~
[
   ';window.___xssSink({0});',
   '<img src="https://raw.githubusercontent.com/fcavallarin/domdig/HEAD/a" onerror="window.___xssSink({0})">'
]
تنزيل الأداة