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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
smugglefuzz — ماسح سريع لتهريب خفض إصدار HTTP مكتوب بلغة Go. | Kitploit
أدوات/GitHubGitHub/moopinger/smugglefuzz
ماسحات الثغرات الأمنيةاستغلال تطبيقات الويباختبار أمان APIأمن الويبالاختبار العشوائياختبار الاختراق
GitHubmoopinger/smugglefuzz

smugglefuzz

ماسح سريع لتهريب خفض إصدار HTTP مكتوب بلغة Go.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

made-with-Go go-report license

SmuggleFuzz

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

لمزيد من المعلومات، راجع https://moopinger.github.io/blog/smugglefuzz/fuzzing/smuggling/2024/01/31/SmuggleFuzz.html

التثبيت

قم بتنزيل نسخة من صفحة الإصدارات: https://github.com/Moopinger/smugglefuzz/releases

أو، قم ببنائها بنفسك:

root@kitploit:~
go install github.com/moopinger/smugglefuzz@latest

طريقة أخرى:

root@kitploit:~
git clone https://github.com/moopinger/smugglefuzz.git
cd smugglefuzz
go build .
./smugglefuzz

الاستخدام

هناك ثلاثة أوامر لـ SmuggleFuzz:

  • scan
root@kitploit:~

Usage:
  smugglefuzz scan [flags]

Examples:
	smugglefuzz scan -u https://example.com/ --confirm
	smugglefuzz scan -u https://example.com/ --filter TIMEOUT --confirm
	smugglefuzz scan -u https://example.com/ -w wordlist.txt -t 10 --confirm --filter TIMEOUT
	smugglefuzz scan --dc -u https://example.com/ -w wordlist.txt -x PUT --confirm

	//Multiple targets? just use -f instead of -u and provide a file with the targets in it:

	smugglefuzz scan -f multiple_targets.txt --confirm -t 10 
	smugglefuzz scan -f multiple_targets.txt -w wordlist.txt --confirm -s ./save-success.txt --filter TIMEOUT
	smugglefuzz scan -f multiple_targets.txt -w wordlist.txt -H "Cookie: date=...; session=...;" -s ./save-success.txt -x PUT --filter TIMEOUT

Flags:
  -c, --confirm               Enable this flag to send a confirmation to the target when a timeout is encountered. Helps confirm if the target is vulnerable.
  -d, --data string           HTTP/2 Data frame to send. eg: 99\r\n (default "99\r\n")
      --dc                    Disable colour in the output. This is useful when you want to save the output to a file.
  -f, --file string           A file containing multiple targets in url format. One target per line.
      --filter string         Filter responses by string or frame type, etc. For example: 405, 200, 502, TIMEOUT, RST, GOAWAY, etc.
  -H, --header string         Insert a custom header. It should be provided in the regular header format: "Cookie: date=...; session=...;"
  -h, --help                  help for scan
  -i, --interval int          The timeout interval in seconds. (default 5)
  -x, --method string         The HTTP request method to be used. (default "POST")
  -s, --save-success string   If a request is confirmed to be successful (via the --confirm flag), it will be saved to a file. This is useful when dealing with lots of targets.
  -t, --threads int           The number of threads to run. Smugglefuzz can go fast, so set the desired number. However, too many may upset any WAFs. (default 4)
  -u, --url string            The target URL to be scanned.
  -w, --wordlist string       Provide a custom list of gadgets to use. If not provided, the default list will be used.

  • request
root@kitploit:~

Usage:
  smugglefuzz request [flags]

Examples:
	smugglefuzz request -u https://www.example.com/ -a "content-length\t; 13"
	smugglefuzz request -u https://www.example.com/ -a "content-length\t; 13" -x PUT
	smugglefuzz request -u https://www.example.com/ -a "content-length\t; 13" -H "Cookie: date=...; session=...;" --data "223\r\n"

Flags:
  -a, --attack string   Attack Header, separated by (; ) like the wordlist in 'scan' mode.
  -d, --data string     HTTP/2 Data frame content to send. (default "99\r\n")
      --dc              Disable colour in the output.
  -H, --header string   Insert custom header. eg "Cookie: values"
  -h, --help            help for request
  -i, --interval int    Detection timeout interval in seconds. (default 5)
  -x, --method string   The method to use. (default "POST")
  -u, --url string      The target URL to submit the request to.

  • output

سيقوم هذا فقط بإخراج الأدوات الافتراضية للتهريب. حاليًا، يعمل التأكيد المبني فقط مع H2.CL و H2.TE. ولكن لا يزال من الممكن اكتشاف H2.0 عبر timeout (–filter TIMEOUT) أو OAST على نطاق خاص بك. (انظر قسم الرؤوس الزائفة أدناه)

قائمة الكلمات

يتيح SmuggleFuzz للمستخدمين التحكم الكامل في الطلبات من خلال قوائم كلمات مخصصة. هذه القوائم لها بنية أساسية يجب اتباعها لتحقيق معالجة مثلى للطلبات. على سبيل المثال، يتم تقسيم الرؤوس وقيمها باستخدام فاصلة منقوطة ومسافة (; ) بدلاً من النقطتين المعتادتين، مما يسهل تضمين القيم ذات النقطتين في طلبات التهريب. كما يفتح هذا الاحتمالات لتحويرات مختلفة وأساليب إبداعية. للحصول على إرشادات مفصلة حول إنشاء حمولاتك الخاصة، راجع: أبحاث James Kettle حول HTTP/2.

تتضمن الأداة قائمة جاهزة مكونة من 125 أداة تهريب، على الرغم من أن هناك دائمًا مجال للتوسع. يمكن عرض هذه الأدوات باستخدام الأمر 'output'، مما يوفر رؤى حول هيكلة الاستعلام. يمكن للمستخدمين إجراء عمليات المسح باستخدام قوائم كلمات مخصصة باستخدام علامة 'w'. تدعم القائمة ترميز URL (%00) لقيم البايت غير القابلة للطباعة، مثل إرجاع السطر وتغذية السطر ممثلة بـ '%0d%0a' أو '\r\n'. على الرغم من أن القائمة المقدمة شاملة، فإن صياغة أدواتك الخاصة يمكن أن تزيد بشكل كبير من معدلات النجاح.

H2C

هل تحتاج إلى دعم h2c؟ تحقق من فرع "experimental-h2c" الخاص بـ SmuggleFuzz.

الرؤوس الزائفة

الرؤوس الزائفة مدعومة بالكامل ويمكن تخصيصها باستخدام صيغة ":name":

  • :authority
  • :scheme
  • :method

هذه الرؤوس مفيدة بشكل خاص عند اختبار ناقلات هجوم H2.0. على سبيل المثال، في اختبار تهريب H2.0 باستخدام طرق تعتمد على OAST، يمكن أن تكون إدخالات قائمة الكلمات التالية فعالة:

اعتبارًا من الإصدار v0.1.8، يمكن استخدام [HOSTNAME] كعنصر نائب. سيقوم SmuggleFuzz باستبداله باسم المضيف في وقت التشغيل.

  • :authority; [HOSTNAME]\r\n\r\nGET / HTTP/1.1\r\nHost: uniqid.oastify.com\r\nX-HEADER:%20

أو

  • :authority; [HOSTNAME]\r\n\r\nGET https://uniqid.oastify.com/ HTTP/1.1\r\nHost: [HOSTNAME]\r\nX-HEADER:%20

الكشف

طريقة الكشف المستخدمة في SmuggleFuzz مماثلة لتلك التي استخدمها Albinowax في أبحاثه عن تهريب HTTP/1 و defparam's Smuggler، ولكن مع تعديلات لتناسب HTTP/2. لحسن الحظ، نظرًا لأن هذه الهجمات تتضمن تخفيضات، يمكن استخدام نفس حمولة الجسم/إطار DATA لكل من كشف H2.CL و H2.TE.

مبدأ توجيهي مهم لقوائم الكلمات هو أن الرؤوس التي تم تهريبها بنجاح يجب أن تتضمن القيم التالية لهجوم تأكيدي:

root@kitploit:~
CL: 13
TE: chunked

يتضمن كل طلب "Body"/DATA-Frame بقيمة "99\r\n". إذا تم تهريب رأس TE، يتم تفسيره على أنه طول محتوى مجزأ يبلغ 153 (0x99) من قبل الخادم إذا تم تهريبه بنجاح، مما يؤدي إلى انتهاء المهلة. وبالمثل، فإن تهريب رأس CL بطول محتوى 13 يؤدي أيضًا إلى انتهاء المهلة بسبب عدم استيفاء الطول.

يقوم طلب التأكيد بإعادة إرسال نفس الاستعلام الذي أدى إلى انتهاء المهلة، ولكن مع بيانات: "3\r\nABC\r\n0\r\n\r\n". هذا يلبي كلاً من TE المجزأ و CL بقيمة 13، مما يؤدي إلى استجابة ناجحة وربما يشير إلى وجود ثغرة تهريب.

شكر (بدون هؤلاء الأشخاص والمشاريع لما كان هذا موجودًا)

  • James Kettle
  • Emile Lerner
  • golang.org/x/net/http2
  • golang.org/x/net/http2/hpack
  • github.com/spf13/cobra
  • GoReleaser
تنزيل الأداة