
Packer Fuzzer هو ماسح سريع وفعال للكشف عن أمان المواقع الإلكترونية المبنية باستخدام أدوات تجميع وحدات JavaScript مثل Webpack.
أي عواقب أو خسائر مباشرة أو غير مباشرة تنجم عن نشر أو استخدام وظائف الكشف التي توفرها أداة Packer Fuzzer (المشار إليها فيما يلي باسم "الأداة") تقع على عاتق المستخدم وحده، ولا يتحمل فريق تطوير Packer Fuzzer (المشار إليه فيما يلي باسم "الفريق") أي مسؤولية عن ذلك.
ستقوم الأداة بإنشاء تقرير نتائج الفحص تلقائيًا بناءً على نتائج الفحص الخاصة بالمستخدم، ولا يمثل محتوى هذا التقرير أو أي محتوى مشتق آخر موقف الفريق أو آرائه.
يرجى الالتزام بالقوانين واللوائح ذات الصلة في بلد المستخدم والبلد المستهدف عند استخدام الأداة، وجميع الاختبارات غير المصرح بها غير مسموح بها. في حالة حدوث أي سلوك غير قانوني، نحتفظ بالحق في متابعة مسؤوليتك القانونية، وسنتعاون بشكل كامل مع السلطات المختصة في التحقيق.
مع انتشار أدوات تجميع الواجهة الأمامية (Webpack)، هل تواجه في عملك اليومي لاختبار الاختراق والخدمات الأمنية المزيد والمزيد من المواقع التي تستخدم "Webpack Bundler"؟ يقوم هذا النوع من المجمعات بتجميع جميع واجهات API ومعاملات API الخاصة بالموقع معًا لاستدعاء الويب مركزيًا، مما يسهل علينا اكتشاف وظائف الموقع وقائمة API بسرعة. ولكن غالبًا ما تكون ملفات JS التي يولدها هذه المجمعات كثيرة جدًا وحجم كود JS الإجمالي ضخم جدًا (قد يصل إلى عشرات الآلاف من الأسطر)، مما يسبب إزعاجًا كبيرًا للاختبار اليدوي. لهذا السبب تم تطوير أداة Packer Fuzzer.
تدعم الأداة الاستخراج التقريبي التلقائي لواجهات API الخاصة بالموقع المستهدف ومعايير API المقابلة، وتدعم الكشف السريع والفعال التقريبي عن سبعة أنواع من الثغرات: الوصول غير المصرح به، تسرب المعلومات الحساسة، CORS، حقن SQL، تجاوز الصلاحيات الأفقي، كلمات المرور الضعيفة، رفع الملفات التعسفي. بعد انتهاء الفحص، تدعم الأداة أيضًا إنشاء تقرير الفحص تلقائيًا. يمكنك اختيار إصدار HTML لسهولة التحليل، أو إصدارات أكثر رسمية مثل doc وpdf وtxt.
ولا تقلق على الإطلاق بشأن مشاكل اللغة الناتجة عن العولمة؛ فالأداة تأتي مع حزم لغات لخمس لغات رئيسية (بما في ذلك قوالب التقارير): الصينية المبسطة، الفرنسية، الإسبانية، الإنجليزية، اليابانية (مرتبة حسب دقة الترجمة)، وقد ترجمها فريقنا غير المحترف جدًا.
ملاحظة: الإصدار الأول من الأداة تم تحسينه فقط لقواعد مجمع Webpack، وقواعد المجمعات الأخرى قيد التطوير.
هذه الأداة مطورة بلغة Python3. قبل تشغيل الأداة، تأكد من تثبيت برنامج Python3.X و pip3. إذا لم تقم بتثبيت البيئة المناسبة، يمكنك اتباع الإرشادات التالية: https://www.runoob.com/python3/python3-install.html
يمكن لمستخدمي MacOS تثبيتها بسرعة باستخدام الأمر التالي:
brew install python3 # سيقوم بتثبيت pip3 تلقائيًا
يمكن لمستخدمي Ubuntu تثبيتها بسرعة باستخدام الأمر التالي:
sudo apt-get install -y python3 && sudo apt install -y python3-pip
يمكن لمستخدمي CentOS تثبيتها بسرعة باستخدام الأمر التالي:
sudo yum -y install epel-release && sudo yum install python3 && yum install -y python3-setuptools && easy_install pip
ستقوم الأداة بتشغيل كود NodeJS الأصلي عبر node_vm2، لذا نوصي بتثبيت بيئة NodeJS (لا نوصي ببيئات تشغيل JS أخرى، فقد تؤدي إلى فشل التحليل). إذا لم تقم بتثبيت البيئة المناسبة، يمكنك اتباع الإرشادات التالية: https://www.runoob.com/nodejs/nodejs-install-setup.html
يمكن لمستخدمي MacOS تثبيتها بسرعة باستخدام الأمر التالي:
brew install node
يمكن لمستخدمي Ubuntu تثبيتها بسرعة باستخدام الأمر التالي:
sudo apt-get install nodejs && sudo apt-get install npm
يمكن لمستخدمي CentOS تثبيتها بسرعة باستخدام الأمر التالي:
sudo yum -y install nodejs
يرجى استخدام الأمر التالي لتثبيت مكتبات Python المطلوبة للأداة بنقرة واحدة:
pip3 install -r requirements.txt
يمكنك استخدام الأمر python3 PackerFuzzer.py [options] لتشغيل الأداة، ومحتوى options موضح أدناه:
-h (--help)
أمر المساعدة، لا يحتاج إلى معامل إضافي، يعرض جميع المعاملات المدعومة ووصفها المختصر؛
-u (--url)
مسار رابط الموقع المراد فحصه، وهو خيار إلزامي، مثال: -u https://demo.poc-sir.com؛
-c (--cookie)
محتوى cookies إضافي، يمكن تركه فارغًا، إذا تم ملؤه فسيتم تمريره عالميًا، مثال: -c "POC=666;SIR=233"؛
-d (--head)
محتوى رأس HTTP إضافي، يمكن تركه فارغًا، إذا تم ملؤه فسيتم تمريره عالميًا، القيمة الافتراضية هي Cache-Control:no-cache، مثال: -d "Token:3VHJ32HF0"؛
-l (--lang)
خيار اللغة، عند تركه فارغًا يتم اختيار لغة النظام تلقائيًا، إذا لم تكن حزمة اللغة موجودة يتم التبديل تلقائيًا إلى الواجهة الإنجليزية. حزم اللغات المتاحة: الصينية المبسطة (zh)، الفرنسية (fr)، الإسبانية (es)، الإنجليزية (en)، اليابانية (ja)، مثال: -l zh؛
-t (--type)
ينقسم إلى إصدار أساسي وإصدار متقدم، عند تركه فارغًا يتم استخدام الإصدار الأساسي افتراضيًا. سيقوم الإصدار المتقدم بإعادة فحص جميع واجهات API واستخراج معاملات API تقريبيًا، وفحص ثغرات: حقن SQL، تجاوز الصلاحيات الأفقي، كلمات المرور الضعيفة، رفع الملفات التعسفي. يمكن استخدام خيار adv للدخول إلى الإصدار المتقدم، مثال: -t adv؛
-p (--proxy)
وكيل عالمي، يمكن تركه فارغًا، إذا تم ملؤه فسيتم استخدام IP الوكيل عالميًا، مثال: -p https://hack.cool:8080؛
-j (--js)
ملفات JS إضافية، يمكن تركه فارغًا، عندما تعتقد أن هناك ملفات JS أخرى تحتاج الأداة لتحليلها، يمكنك استخدام هذا الخيار، مثال: -j https://demo.poc-sir.com/js/index.js,https://demo.poc-sir.com/js/vue.js؛
-b (--base)
تحديد الجزء الأوسط من API (على سبيل المثال، إذا كان API: https://demo.poc-sir.com/v1_api/login، فإن basedir هو: v1_api)، يمكن تركه فارغًا، عندما تعتقد أن basedir المستخرج تلقائيًا غير دقيق، يمكنك استخدام هذا الخيار، مثال: -b v1_api؛
-r (--report)
تحديد تنسيق التقرير الذي سيتم إنشاؤه، عند تركه فارغًا يتم إنشاء تقارير بتنسيق HTML و DOC افتراضيًا. التنسيقات المتاحة: html، doc، pdf، txt، مثال: -r html,pdf؛
-e (--ext)
خيار تشغيل الإضافات، تدعم الأداة كتابة المستخدم للإضافات الخاصة به وتخزينها في دليل ext (كيفية الكتابة يرجى الرجوع إلى ملف demo.py في هذا الدليل). الحالة الافتراضية مغلقة، عند تشغيلها باستخدام الأمر on، ستنفذ الأداة تلقائيًا الإضافات في هذا الدليل، مثال: -e on؛
-f (--flag)
خيار أمان اتصال SSL، عند تركه فارغًا يكون مغلقًا افتراضيًا، وفي هذه الحالة سيمنع أي اتصال غير آمن. إذا كنت ترغب في تجاهل حالة أمان SSL، يمكنك تشغيله باستخدام الأمر 1، وسيتم تجاهل جميع أخطاء الشهادة، مثال: -f 1؛
-s (--silent)
خيار الصمت، بمجرد تشغيله، سيتم ضبط جميع عمليات YES أو NO تلقائيًا على YES، والمحتوى بعد المعامل هو اسم تقرير الفحص هذا (اسم تقرير مخصص)، يمكن استخدامه في أوضاع التشغيل غير المراقب، العمليات المجمعة، استدعاء الإضافات، إلخ، مثال: -s Scan_Task_777؛
--st (--sendtype)