

Bolt في مرحلة البيتا من التطوير مما يعني احتمال وجود أخطاء. يُنصح بعدم استخدام هذه الأداة في الإنتاج. طلبات السحب (Pull requests) والمشكلات (Issues) مرحب بها. كما أقترح عليك وضع هذا المستودع تحت المراقبة إذا كنت مهتمًا به.
يزحف Bolt إلى موقع الويب المستهدف بالعمق المحدد ويخزن جميع نماذج HTML الموجودة في قاعدة بيانات لمعالجتها لاحقًا.
في هذه المرحلة، يكتشف Bolt الرموز (tokens) التي ليست قوية بما يكفي والنماذج غير المحمية.
تركز هذه المرحلة على اكتشاف سيناريوهات هجمات إعادة التشغيل (replay attack) وبالتالي تتحقق مما إذا تم إصدار رمز أكثر من مرة واحدة. كما تحسب متوسط مسافة ليفنشتاين بين جميع الرموز لمعرفة ما إذا كانت متشابهة. تُقارن الرموز أيضًا بقاعدة بيانات تحتوي على 250+ نمط تجزئة.
في هذه المرحلة، يتم إجراء 100 طلب متزامن إلى صفحة ويب واحدة لمعرفة ما إذا تم إنشاء رموز متطابقة للطلبات.
هذه المرحلة مخصصة للاختبار النشط لآلية حماية CSRF. تشمل (على سبيل المثال لا الحصر) التحقق من وجود حماية لمتصفحات الأجهزة المحمولة، إرسال طلبات برمز تم إنشاؤه ذاتيًا، واختبار ما إذا كان الرمز يتم التحقق منه بطول معين.
في هذه المرحلة، يتم إجراء فحوصات إحصائية متنوعة لمعرفة ما إذا كان الرمز عشوائيًا حقًا. يتم إجراء الاختبارات التالية خلال هذه المرحلة:
مسح موقع ويب بحثًا عن CSRF باستخدام Bolt سهل مثل تنفيذ:
python3 bolt.py -u https://github.com -l 2
حيث يُستخدم -u لتوفير عنوان URL و -l لتحديد عمق الزحف.
خيارات ومفاتيح أخرى:
-t عدد الخيوط--delay تأخير بين الطلبات--timeout مهلة طلب HTTP--headers توفير رؤوس HTTPالتعبيرات العادية لاكتشاف التجزئات مأخوذة من hashID. اختبارات العشوائية على مستوى البت مأخوذة من تطبيق highfestiva للاختبارات الإحصائية بلغة Python.