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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
HTTPSignatures — امتداد Burp Suite يطبّق مسودة توقيع رسائل HTTP draft-ietf-httpbis-message-signatures-01. | Kitploit
أدوات/GitHubGitHub/nccgroup/httpsignatures
بروكسيات الويب والاعتراضاختبار أمان APIأمن الويبالتشفيرالمصادقةأمن واجهات برمجة التطبيقات
GitHubnccgroup/httpsignatures

HTTPSignatures

امتداد Burp Suite يطبّق مسودة توقيع رسائل HTTP draft-ietf-httpbis-message-signatures-01.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

إضافة HTTPSignatures لـ Burp Suite

HTTPSignatures هي إضافة لـ Burp Suite تنفّذ وثيقة مسودة مواصفات Signing HTTP Messages draft-ietf-httpbis-message-signatures-01. يتيح ذلك لمستخدمي Burp Suite اختبار التطبيقات التي تتطلب توقيعات HTTP بسلاسة.

الميزات

  • تنشئ تلقائيًا توقيعًا وdigest جديدين في Burp Repeater وIntruder وScanner عندما تكتشف الإضافة عنوان HTTP Signature موجودًا.
  • تدعم خوارزمية rsa-sha256 لتوقيع الرسائل (RSASSA-PKCS1-v1_5 [RFC8017] باستخدام SHA-256 [RFC6234]) وSHA-256 لعنوان digest.
  • تعمل الإضافة في Burp Suite Professional وفي Burp Suite Community Edition المجانية.

الاستخدام

التثبيت

نزّل ملف أحدث إصدار JAR وأضِفه في Burp Suite من خلال Extender Tab / Extensions / Add.

الإعداد

  1. بعد تحميل الإضافة، ستتم إضافة عنصر قائمة جديد باسم HTTP Signatures إلى Burp.
  2. افتح تبويب الإعداد (انقر على عنصر القائمة HTTP Signatures).
  3. يتطلب الحد الأدنى من الإعداد ضبط Header Name وkeyId وPrivate key file name and path. انظر أدناه للوصف التفصيلي.
  4. يمكنك الآن استخدام Burp Proxy وRepeater وIntruder وScanner. ستنشئ الإضافة توقيعًا جديدًا لكل طلب يحتوي على Header Name المُعد.

الاستخدام

بعد إعداد HTTPSignatures بشكل صحيح، ستستبدل إضافة Burp Suite قيمة عنوان HTTP المُعدّة في إعداد Header Name (مثل Signature) بتوقيع جديد لكل طلب HTTP يُرسَل عبر Burp Proxy وRepeater وIntruder وScanner.

إعداد HTTPSignatures

التوثيق

يجب إعداد إضافة Burp Suite قبل استخدامها. يمكن العثور على إعداد HTTPSignatures في قائمة Burp بعد تحميلها (عادةً على يمين قائمة Help). يجب ضبط Header Name وkeyId وPrivate key file name and path بشكل صحيح لكي تعمل الإضافة. يمكن تعديل الإعدادات المتبقية اختياريًا.

  • Header Name: (قيم نموذجية: Authorization، Signature): اسم عنوان طلب HTTP الذي يتضمن التوقيع. تستخدم مسودة IETF اسم العنوان Signature. بينما تستخدم Oracle Cloud (OCI) اسم العنوان Authorization.

  • keyId: معامل keyId هو سلسلة US-ASCII يستخدمها المُتحقِّق لتحديد و/أو الحصول على مفتاح التحقق من التوقيع. قد تبدو القيم النموذجية مثل https://mastodon.example.com/users/myUser (لـ ActivityPub) أو ocid1.tenancy.oc1.../ocid1.user.oc1.../{fingerprint} لـ OCI.

  • Private key file name and path: المسار الكامل واسم الملف اللذان يحتويان المفتاح الخاص (مثل /home/${USER}/private_key.pem).

  • Digest Header Name: اسم العنوان الذي يحتوي على الـdigest. يجب أن يكون إما x-content-sha256 (لـ OCI) أو digest لمعظم التطبيقات الأخرى.

  • Header Names to Sign: GET: أسماء العناوين المطلوب تضمينها في طلبات GET (مثل ). قيمة هي معرّف خاص يتكون من طريقة الطلب ومسار وquery لعنوان URI للطلب (مثل ).

الملفات الشخصية (Profiles)

يتيح إعداد HTTPSignatures إعداد ملفات شخصية متعددة في تبويبات. أنشئ تبويبًا جديدًا بالنقر على تبويب .... يمكنك تسمية التبويبات بالنقر المزدوج على التبويب. لحفظ تبويب انقر على زر "Save". لتعليم تبويب كملف شخصي نشط، انقر على زر "Use this profile". يتم تمييز التبويب النشط (الملف الشخصي) بخط وحدود حمراء.

إعدادات التهيئة العامة

يحتوي قسم التهيئة العامة على إعدادات تنطبق على جميع الملفات الشخصية.

  • Enable the extension for the following Burp Suite tools: يمكن تمكين الإضافة أو تعطيلها لأدوات Burp Suite التالية:

    • Proxy (الافتراضي: معطل)
    • Scanner (الافتراضي: مفعل)
    • Intruder (الافتراضي: مفعل)
    • Repeater (الافتراضي: مفعل)

    يكون Proxy معطلاً افتراضيًا. أما الأدوات الأخرى فمفعّلة افتراضيًا. يجب عادةً تمكين أداة Proxy فقط عند استخدام ميزة الاعتراض (intercept). لن تقوم الإضافة بتحديث التوقيع عندما تكون معطلة.

  • Enable Debug Logs: سيؤدي تفعيل خانة الاختيار هذه إلى طباعة سجلات التصحيح إلى المخرجات القياسية. يمكن تهيئة المخرجات في Burp Suite ضمن Extender -> Extensions، ثم حدد إضافة Signing HTTP Messages. في تبويب Output يمكنك تحديد مكان عرض المخرجات القياسية. الافتراضي هو Shown in UI حيث يتم عرض المخرجات داخل Burp Suite.

أمثلة على الإعدادات

ActivityPub

يستخدم ActivityPub توقيعات HTTP من أجل المصادقة والترخيص بين الخوادم.

  • Header Name: Signature
  • keyId: يجب أن يرتبط keyId بالجهة الفاعلة (actor) بحيث يمكن استرجاع حقل publicKey: https://mastodon.online/users/viktor. يمكنك استخدام curl لاسترجاع المفتاح: curl https://mastodon.online/users/viktor -H 'Accept: application/activity+json'|jq
  • Private key file name and path: /home/user/private_key.pem
  • Digest Header Name: digest
  • Header Names to Sign: GET: date (request-target) host
  • Header Names to Sign: HEAD: date (request-target) host
  • Header Names to Sign: DELETE: date (request-target) host
  • Header Names to Sign: PUT: date (request-target) host content-length content-type digest
  • Header Names to Sign: POST: date (request-target) host content-length content-type digest

Oracle Cloud Infrastructure (OCI)

تتطلب جميع طلبات API لـ Oracle Cloud Infrastructure (OCI) توقيعات HTTP. يعتمد هذا التطبيق على مسودة المواصفات مع بعض التعديلات.

  • Header Name: Authorization
  • keyId: <TENANCY OCID>/<USER OCID>/<KEY FINGERPRINT>، على سبيل المثال ocid1.tenancy.oc1..<unique_ID>/ocid1.user.oc1..<unique_ID>/<key_fingerprint>
  • Private key file name and path: /home/user/private_key.pem
  • Digest Header Name: x-content-sha256
  • Header Names to Sign: GET: date (request-target) host
  • Header Names to Sign: HEAD: date (request-target) host
  • Header Names to Sign: DELETE: date (request-target) host
  • Header Names to Sign: PUT: date (request-target) host content-length content-type x-content-sha256
  • Header Names to Sign: POST: date (request-target) host content-length content-type x-content-sha256
  • Include query parameters in Signature: true

البناء باستخدام IntelliJ IDEA

  1. استنسِخ هذا المستودع وقم بعمل Open or Import (فتح أو استيراد) لمجلد HTTPSignatures في IntelliJ IDEA.
  2. ترجم المشروع (Build -> Build Project)
  3. أنشئ ملف JAR لاستيراده في Burp Suite: انتقل إلى File -> Project Structure، وحدد Project Settings -> Artifacts.
  4. انقر على علامة الجمع لإنشاء ملف JAR جديد "From modules with dependencies" وانقر OK.
  5. حدد خانة الاختيار "Include in project build" لإنشاء ملف JAR تلقائيًا عند بناء المشروع، ثم انقر OK.
  6. أعد بناء المشروع (Ctrl+F9 أو ⌘+F9).
  7. يتم إنشاء ملف JAR في مجلد المشروع على المسار out/artifacts/HTTPSignatures_jar/HTTPSignatures.jar.
  8. حمّل ملف JAR في Burp من خلال Extender Tab -> Extensions -> Add.

البناء من سطر الأوامر باستخدام Maven

  1. استنسِخ هذا المستودع.
  2. ترجم المشروع وأنشئ ملف JAR باستخدام الأمر mvn package assembly:single.
  3. يتم إنشاء ملف JAR في مجلد المشروع على المسار target/HTTPSignatures-1.0-SNAPSHOT-jar-with-dependencies.jar.
  4. حمّل ملف JAR في Burp من خلال Extender Tab -> Extensions -> Add.

التبعيات

يلزم وجود ثلاث تبعيات لبناء مشروع Java:

  • Apache HttpClient (https://hc.apache.org/httpcomponents-client-ga/)
  • عميل Tomitribe لتوقيعات HTTP بلغة Java (https://github.com/tomitribe/http-signatures-java)
  • Burp Extender API (https://github.com/PortSwigger/burp-extender-api)
تنزيل الأداة
date (request-target) host
(request-target)
get /foo?param=value
  • Header Names to Sign: HEAD: أسماء العناوين المطلوب تضمينها في طلبات HEAD (مثل date (request-target) host).

  • Header Names to Sign: DELETE: أسماء العناوين المطلوب تضمينها في طلبات DELETE (مثل date (request-target) host).

  • Header Names to Sign: PUT: أسماء العناوين المطلوب تضمينها في طلبات PUT (مثل date (request-target) host content-length content-type digest).

  • Header Names to Sign: POST: أسماء العناوين المطلوب تضمينها في طلبات POST (مثل date (request-target) host content-length content-type digest).

  • Include query parameters in Signature: تحدد هذه القيمة المنطقية ما إذا كان يجب تضمين معاملات الاستعلام (مثل ?param=value) في التوقيع. في حين تنص مسودة المعيار على أن معاملات الاستعلام جزء من معرّف (request-target)، لا تتضمن جميع التطبيقات معاملات الاستعلام. القيمة الافتراضية هي true.

  • Include the port in Signature: لا تتضمن بعض التطبيقات المنفذ في عنوان host (مثل localhost:8080). يسمح هذا الإعداد بإزالة المنفذ من قيمة عنوان host إذا تم ضبطه على false. القيمة الافتراضية هي true.

  • Include query parameters in Signature: true
  • Include the port in Signature: true
  • Include the port in Signature: true