
ماسح ضوئي لتلوث النموذج الأولي باستخدام كروم بدون واجهة رسومية

بلوتيون هي طريقة ملائمة لمسح الصفحات المعرضة لثغرة تلوث النموذج الأولي من جانب العميل عبر حمولة رابط URL على نطاق واسع. في التهيئة الافتراضية، ستستخدم حمولة ثابتة يمكنها اكتشاف 11 من الحالات الموثقة هنا: https://github.com/BlackFan/client-side-prototype-pollution/tree/master/pp
هذه ليست أداة شاملة. تلوث النموذج الأولي وحش معقد. هذه الأداة لا تفعل شيئًا لا يمكنك فعله يدويًا. ليست أداة فائقة مصقولة وخالية من الأخطاء. إنها وظيفية ولكنها مشفرة بشكل رديء وتعتبر في مرحلة ألفا على أفضل تقدير.
تقوم بلوتيون بإلحاق حمولة بعناوين URL المقدمة، وتنتقل إلى كل عنوان URL باستخدام كروم بدون واجهة رسومية وتشغل جافاسكريبت على الصفحة للتحقق مما إذا تم تلويث النموذج الأولي بنجاح.
مسح أساسي، الإخراج فقط إلى الشاشة:
cat URLs.txt | plution
مسح بحمولة مقدمة بدلاً من الحمولة الثابتة:
cat URLs.txt|plution -p '__proto__.zzzc=example'
ملاحظة حول الحمولات المخصصة: يجب أن يكون المتغير الذي تأمل حقنه اسمه أو ينتج عنه "zzzc". وذلك لأن 'window.zzzc' سيتم تشغيله على كل صفحة للتحقق من التلوث.
الإخراج:
Passing '-o' followed by a location will output only URLs of pages that were successfully polluted.
التوافقية (Concurrency):
Pass the '-c' option to specify how many concurrent jobs are run (default is 5)
كيف أقوم بتثبيته؟
go get -u github.com/raverrr/plution
لماذا تقتصر تحديدًا على التحقق مما إذا كان window.zzzc معرفًا؟
zzzc is a short pattern that is unlikely to already be in a prototype. If you want more freedom in regards to the javascript use https://github.com/detectify/page-fetch instead
لديك سؤال أكثر تحديدًا؟
Ask me on twitter @divadbate.