






السمعة:
- إنضم17 يونيو 2023
- المشاركات 515
- الحلول 10
- مستوى التفاعل 1,106
- النقاط 93
بالموضوع هاد راح نركز خصوصًا على الـ Repeater و الـ Intruder في الـ Burp Suite . بعد ما نكون فهمنا الأساسيات في شرح بيرب سويت الجزء الاول - Burp Suite part 1 راح نحكي أكثر عن مميزات أداة الـ Repeater و الـ Intruder
إذا كنت جديد على برنامج برب سويت أو ما خلصت الشرح الـ part 1 ، بنصحك تخلصها قبل ما تكمل الموضوع هاد. الغرفة الأولى بتثبت المعلومات الأساسية اللي لازم تكون عندك قبل ما تكمل في الموضوع وتزيد من تجربتك التعليمية.
راح نركز على النقاط التاليه
1. الـ Repeate بالتفصيل , وارسال طلب للـ Repeate.
2. الـ Inspector بالتفصيل
3. حل 3 Challenge
4. الـ Intruder بالتفصيل
5. الـ Positions
6. الـ payloads
7. الـ Introduction to Attack Types
8. الـ Sniper
9. الـ Battering Ram
10. الـ Pitchfork
11. الـ Cluster Bomb
12. مثال وحل 2 Challenge
هو عبارة عن حاجة بتسمحلك تغير وترسل طلبات لأي موقع بتختاره. يعني لو انت شايف طلب معين ممكن عن طريق الـ Repeate تغير فيه وتبعثه مره ثانيه للموقع. ولو مش لاقي طلب معين، بتقدر تعمل طلب جديد.
الـ Repeate بتفيدك جداً لما تكون بدك تجرب حاجة في المواقع وتعدل فيها. بتقدر تغير الطلبات وتبعثها أكتر من مرة. والشغلة الحلوة إنها عندها واجهة سهلة و شغلة ثانية منيحة الي هي إمكانية تشوف الرد من الموقع بشكل جرافيكي.
الواجهة بتكون فيها ستة حاجات رئيسية، زي ما موضح في الصورة:
في حال بدنا نرسل طلب يدوياً، بس الأكثر استخداماً هو نلتقط الطلب باستخدام الوحدة اللي اسمها proxy وبعدين نبعثها للـ Repeate عشان نعدل عليها ونرسلها مرة ثانية. لما نلتقط الطلب في البروكسي، نقدر نبعثه للـ Repeate إما بالضغط الزر الأيمن واختيار Send to Repeate ، أو باستخدام الاختصار Ctrl + R .
لما نروح للـ Repeate ، نشوف إن الطلب اللي اخترناه في البروكسي صار متاح الآن في قسم Request . كل اللي محتاجينه هو زي المعلومات اللي في القسمين Target و Inspector . لما نضغط على زر الإرسال، يتم تعبئة قسم الـ Response بسرعة
إذا حابين نعدل على أي جزء من الطلب، بنقدر نكتب في قسم Request view ونضغط إرسال مرة ثانية. راح يحدّث قسم الرد على اليمين ويظهرلنا الرد. مثلا، لو غيرنا الاتصال ليكون مفتوح بدل مغلق ، راح يجيب لنا رد مع تروسة الاتصال مكتوب فيها حفظ الاتصال :
وبعدين، بنقدر نستخدم زرار السجلات اللي على يمين زر الإرسال عشان نتنقل في تاريخ التعديلات اللي سويناها، ونروح للأمام أو للوراء على حسب اللي نحتاج.
أدوات الفحص (Toolbar) في برنامج Repeater
البرنامج بعطينا امكانيات لـ عرض الطلبات والردود بشكل مختلف، مثل عرض البيانات بالهيكسا، أو عرضها بشكل صفحة ويب كاملة.
في زر على اليمين يُسمى Show non-printable characters . هذا الزر بساعد على إظهار الحروف التي قد لا تظهر بوضوح بواسطة الخيارين الرئيسيين Pretty و Raw. يُستخدم هذا الخيار لرؤية الأحرف الخاصة مثل \r\n ، والتي تمثل عودة السطر وبداية سطر جديد في رد السيرفر. استخدام هذا الزر يجعلها واضحة وقابلة للتحليل بشكل أفضل.
الـ Inspector هي ميزة إضافية في قسم الـ Repeater، واللي هو جزء من الـ Repeater module. يعني إنها بتفيدنا لما نكون بنشوف الطلبات والردود. الـ Inspector بتساعدنا نشوف الـ breakdown بطريقة منظمة للطلبات والردود، وكمان نجرب نشوف كيف التعديلات اللي بنعملها بتأثر على الـ raw versions تاعتها.
الـ Inspector بتشتغل في الـ Proxy والـ Repeater، بتكون في الجهة اليمين وبتعرض لنا قائمة بالمكونات اللي في الطلب والرد.
من ضمن الحاجات اللي ممكن نعدلها، الأقسام اللي للطلب ممكن نعدلها بشكل عام. زي قسم Request Attributes ، اللي بنقدر نعدل فيها على مكونات الطلب زي المكان، والطريقة، وبروتوكول الطلب. يعني بنقدر نغير المورد المطلوب، أو نغير الـ HTTP method من GET إلى حاجة تانية، أو نغير البروتوكول من HTTP/1 إلى HTTP/2.
في أقسام ثانية ممكن نشوفها أو نعدل فيها:
تظهر هذه الصفحه على burp suite
عند الضغط على زر الماوس الايمن (كلك يمين )
ثم ارسال الى الـ Repeater بفتح الصفحة هذه
كما هو مطلوب من التحدي هو اضافة header يسمى FlagAuthorised ووضع قيمته True هكذا
وعند الضغط على Send
او يمكنك ببساطة من الـ intercept اضافة الـ header والضغط على Forward
حل السؤال
كما يطلب التحدي ان يعطي الموقع خطأ 500
يمكن ذلك عن طريق استبدال الرقم 2 بأي رقم سالب مثلًا ....الخ
الفكرة إنك تحاول تخترق موقع على أساس إن فيه ثغرة في نظام قاعدة البيانات اللي بيستخدموه. الهدف هو تجيب معلومات عن الرئيس التنفيذي (CEO) من البيانات المخزنة في الداتابيز.
نجرب ندخل single qoute ( ' ) بدلا من الرقم لنرى اذا اعطى اي اخطاء او معلومات
الفكرة الان هي أنك تحاول تستفيد من هذه الثغرة SQL عشان تتلاعب في قاعدة البيانات
. المرحلة الثالية هي استخدام UNION SELECT وغيرها من الأوامر للوصول للبيانات اللي بدك اياها.
الآن من خلال الخطأ لدينا المعلومات التاليه
الـ people : اسم جدول موجود في قاعده البيانات
الـ firstName, lastName, pfpLink, role, bio : اسماء اعمدة موجودة في الجدول
عند وضع الـ Quere التاليه :
يتم محاولة لاستعراض أسماء الأعمدة (column names) في الجدول. يعني، بعد ما تكتشف الثغرة وتعرف اسم الجدول، بتعرف أسماء الأعمدة في هذا الجدول.
يظهر لي اسم عامود ( notes )
عن طريق هذه الـ quere
الـ id = 1 الا وهو الشخص المستهدف
نستطيع سحب المعلومات التي بداخل النوتس
الـ Intruder بتساعدك تجرب الثغرات في المواقع. الفكره هي إنها بتسمحلك تعدل الطلبات تلقائيًا وتجرب بأشكال مختلفة لقيم الإدخال. ممكن تستخدمها عشان تجرب اشياء زي اختراق نماذج الدخول بتغيير اسم المستخدم وكلمة السر باستخدام قائمة كلمات، أو تجرب هجمات باستخدام قوائم كلمات لاختبار أماكن معينة في الموقع.
لكن إذا استخدمتها في نسخة برنامج Burp المجانية، بتكون بطيئة شوي مقارنة بالنسخة المدفوعة.
.
الواجهة اللي بتظهرلك لما تشتغل على الـ Intruder فيها أربع خيارات :
في القسم هاد، راح تشوف إن برنامج Burp Suite بيحاول بشكل تلقائي يحدد المكان الأكثر احتمالية إنه يكون فيه ( يمكن حط فيه البيانات ) . الأماكن هاي بتتحدد باللون الأخضر ويتم إطارها بعلامات (§).
على اليمين في الشاشة، بتلاقي ازرار معينة:§ Add § / Clear § / Auto
فيديو بسيط يوضح كيفيه عملها
نقدر نسوي ونهيئ payloads لهجومنا. هالجزء مقسم إلى أربعة أقسام:
1. الـ Payload Sets : هالقسم بسمحلنا نختار المكان اللي بدنا نهيئ فيه الـ payload ونختار نوع الـ payload اللي بدنا نستخدمه.
2. الـ Payload settings : هالقسم يوفر خيارات خاصة بنوع الـ payload المحدد للمجموعة الحالية . مثلا لما نستخدم نوع Simple list ، بنقدر نضيف أو نشيل payloads يدويًا من أو إلى المجموعة باستخدام مربع النص اللي فيه Add ، أو Paste lines ، أو Load payloads from a file .
3. الـ Payload Processing : في هاد القسم بنقدر نحدد قواعد يتم تطبيقها على كل payload في المجموعة قبل ما يتم إرسالها للهدف. على سبيل المثال، بنقدر نجعل كل كلمة تبدأ بحرف كبير، أو نتجاوز الـ payloads اللي تطابق نمط regex، أو نطبق تحويلات أو فلترة أخرى.
4. الـ Payload Encoding : هالقسم بسمحلنا نخصص خيارات التشفير للـ payloads. عادة، برب سويت بطبق تشفير URL تلقائيًا لضمان نقل الـ payloads بشكل آمن. بس في حالات قد تحتاج فيها نعدل سلوك التشفير. بنقدر نتجاوز خيارات التشفير الافتراضية برب سويت عن طريق تعديل قائمة الحروف المراد تشفيرها أو إلغاء تحديد خانة URL-encode these characters .باستخدام هذه الأقسام، بنقدر نصنع ونضبط مجموعات payloads لتناسب متطلبات هجماتنا. المستوى هاد من التحكم بسمحلنا نضبط الـ payloads بدقة لاختبار واستغلال فعال.
في أربعة أنواع مختلفة:
عندنا مثال بسيط، لوكان عندك ريكوست زي هاد :
عندك مكانين محددين في الريكوست، واحد لل user name والثاني لل password.
البرنامج بختار كل قيمة من القائمة وبحطها في كل مكان في الترتيب.
لو عندك قائمة فيها ثلاث كلمات:
burp
suite
intruder
علمًا ان الاسم الدخل هو abood والباسورد qawfaefszd
البرنامج بعمل six requests :
البرنامج برتب القيم بترتيب يعني ببدأ بالمكان الأول (اليوزرنيم) وبحط كل قيمة بالورد ليست فيه
بعدين بمشي للمكان الثاني (الباسوورد) وبعمل نفس الحكاية.
عدد ال requests الكلي اللي بعملها البرنامج بنحسب بالقانون:
عدد الكلمات بالمستند * عدد المكانين
3 * 2 = 6
مو زي الـ Sniper اللي بحط كل payload في كل موقع لوحده.
نوع الهجوم Battering Ram مفيد لما بدنا نختبر نفس الـ payload ضد عدة مواقع دفعة واحدة بدون الحاجة للاستبدال التسلسلي.
لو بدك تعمل Battering Ram Intruder attack على الطلب المثال اللي فوق وعندك wordlist فيه كلمتين (admin و Guest)،
والمواضع في القالب كالتالي: username=abood&password=qawfaefszd
يعتبر هجوم الـ Pitchfork شبيهًا بتشغيل هجمات Sniper متعددة بشكل متزامن.
بينما يستخدم Sniper مجموعة بيانات وحدة لاختبار جميع المواقع في وقت واحد
يستخدم Pitchfork مجموعة بيانات واحدة لكل موقع (حتى 20 موقعًا كحد أقصى) ويتكرر من خلالها جميعها في نفس الوقت.
لتوضيح فكرة الـ Pitchfork نحل مثال عليه
القائمة الأولى تحتوي على أسماء مستخدمين :
joel
harriet
alex
القائمة الثانيه تحتوي على كلمات المرور :
J03l
Emma1815
Sk1ll
نضغط على START ATTACK
حيث يمكن اختيار مجموعة من البيانات لكل مكان في الطلب (حتى 20 مكان).
على عكس نوع الهجوم Pitchfork حيث يتم اختبار جميع مجموعات البيانات بشكل متزامن
يقوم Cluster Bomb بتكرار كل مجموعة بيانات على حدة، مما يضمن اختبار كل تركيب ممكن للمعلومات المقدمة .
لتوضيح فكرة الـ Cluster Bomb نحل مثال عليه
القائمة الأولى تحتوي على أسماء مستخدمين :
joel
harriet
alex
القائمة الثانيه تحتوي على كلمات المرور :
J03l
Emma1815
Sk1ll
نضغط على START ATTACK
هذه هي الطلبات
هجمات Cluster Bomb قد تولد كمية كبيرة من حركة المرور حيث يتم اختبار كل تركيبه. يمكن حساب عدد الطلبات التي تقوم بها هجمة Cluster Bomb عن طريق ضرب عدد الأسطر في كل مجموعة بيانات معًا. يجب أن نكون حذرين عند استخدام هذا النوع من الهجمات، خاصة عند التعامل مع مجموعات بيانات كبيرة.
قد يستغرق تنفيذ هجوم Cluster Bomb مع مجموعة بيانات متوسطة الحجم وقتًا طويلاً عند استخدام إصدار Burp Community
عندنا ملف مضغوط اسمه BastionHostingCreds.zip ، فيه معلومات دخول تم تسريبها من موظفي Bastion Hosting بعد هجوم إلكتروني.
عندنا قائمة بأسماء مستخدمين مع كلمات مرور متوافقة، يعني بنقدر نستخدم هجوم credential-stuffing بدل هجوم brute-force العادي. هالطريقة أسرع وأفضل.
هذا رابط تنزيل الملف المضغوط
اضغط هنا
بعد تفعيل الـ intercept وارسال طلب تسجيل الدخول الى الـ intruder
نحدد الـ Positions على مكان الاسم والباسوورد :
نحدد على الاسم ونضغط على Add كما تعلمنا سابقا في قسم الـ Positions وكذلك الباسوورد
مثل الصور
ثم نحدد نوع الهجوم
في قسم الـ payloads
نجد ان الـ Length مختلف
ونجد بالاسفل ان ال Path قد تغير الى الـ support
بينما عندما نرى الـ Response على كلمة اخرى
لما ندخل للواجهة الرئيسية للدعم بالموقع ، بنشوف جدول فيه ticket مختلفة. إذا ضغطنا على أي وحده منهم ، بحولنا لصفحة بنقدر نشوف فيها الـ ticket كاملة. ولما ندرس هيك بنلاحظ إن الروابط فيها رقم ، بتكون بهاي الصيغة:
النظام رقمي، يعني التذاكر عندها أرقام صحيحة بسيطة مش معقدة ومش صعبة نحزرها. هالمعلومة مهمة لأنها بتعطينا احتمالين :
sh3ll.cloud
بنستخدم أداة Intruder عشان نجرب الأمان للرابط /support/ticket/NUMBER . هالخطوة راح تساعدنا نشوف إذا كانت النهاية مضبوطة صح أو فيها ثغرة IDOR.
ملحوظة: لازم نلتقط طلب واحنا مسجلين داخل النظام.
بالنسبة للاختبار، الهجوم المناسب هو: Fuzzing .
المرشح المثالي للـ payload (التذاكر مخزنة بقيم بين 1 و 100)، ومن ثم بداية الهجوم.
نحدد الموقع عند الرقم
نجد مواقع التي تعطي Status code = 200
هذا يعني انه تم اكمال الطلب بنجاح
إما باستخدام علامة تبويب الاستجابة في نافذة نتائج الهجوم أو من خلال النظر إلى كل طلب ناجح (أي 200 رمز) يدويًا في متصفحك، ابحث عن التذكرة التي تحتوي على العلم.
زي ما بالصوره مبين انه اعطانا قيمه الـ Cookie و الـ loginToken
في الـ Intruder نقوم بالتحديد على اسم المستخدم والباسوورد كما فعلنا سابقا عن طريق التحديد على الاسم الذي ادخلته عند ارسال الطلب وعلى الباسوورد الذي ادخلته ثم الضغط على Add
عشان نجمع قيمة التوكن والكوكي اللي بتتغير لازم نعمل ماكرو.
الـ Macro هاي بتسمح لنا نكرر نفس الإجراءات عدة مرات. الإعدادات بتكون سهلة
لازم نعمل قواعد لمعالجة الجلسات تحدد استخدام الـ Macro.
هاد بنعمل بالاعدادات في قسم الـ Sessions ، هنعمل Rule جديدة.
عند الضغط على Add
نضيف خيار admin/login/
الان من قسم Session Handling Rules فوق قسم الـ Macros
اضغط على Add . بتظهر نافذة جديدة فيها : Details و Scope.
اجعل الخيارات كما بالصورة
1. جعل التحديد فقط على الـ Intruder
2. جعل الـ URL Scope على خيار Use suite scope
كما نذكر في الشرح السابق في الـ Part الاول من الـ burp suite
والان نرجع لقسم الـ Ditails ونظغط على Add ثم على Run a macro
ونختار المايكرو الذي انشأناه مسبقاً
نقوم بتغيير الخيارين بالاسفل
نجعل التحديد على Update only the following parameters and headers
وبالضغط على Edit نضيف كلمة loginToken
وبالاسفل
نجعل التحديد على Update only the following cookies
وبالضغط على Edit نضيف كلمة session
هيك صار عندك ماكرو جاهز بتحدث التوكن والكوكي في كل ريكوست.
ثم في قسم الـ payloads
نجد كل الطلبات تعطينا رمز 302 والذي يعني
إذا كنت جديد على برنامج برب سويت أو ما خلصت الشرح الـ part 1 ، بنصحك تخلصها قبل ما تكمل الموضوع هاد. الغرفة الأولى بتثبت المعلومات الأساسية اللي لازم تكون عندك قبل ما تكمل في الموضوع وتزيد من تجربتك التعليمية.
راح نركز على النقاط التاليه

1. الـ Repeate بالتفصيل , وارسال طلب للـ Repeate.
2. الـ Inspector بالتفصيل
3. حل 3 Challenge
4. الـ Intruder بالتفصيل
5. الـ Positions
6. الـ payloads
7. الـ Introduction to Attack Types
8. الـ Sniper
9. الـ Battering Ram
10. الـ Pitchfork
11. الـ Cluster Bomb
12. مثال وحل 2 Challenge
الـ Repeate بالتفصيل.
هو عبارة عن حاجة بتسمحلك تغير وترسل طلبات لأي موقع بتختاره. يعني لو انت شايف طلب معين ممكن عن طريق الـ Repeate تغير فيه وتبعثه مره ثانيه للموقع. ولو مش لاقي طلب معين، بتقدر تعمل طلب جديد.الـ Repeate بتفيدك جداً لما تكون بدك تجرب حاجة في المواقع وتعدل فيها. بتقدر تغير الطلبات وتبعثها أكتر من مرة. والشغلة الحلوة إنها عندها واجهة سهلة و شغلة ثانية منيحة الي هي إمكانية تشوف الرد من الموقع بشكل جرافيكي.

الواجهة بتكون فيها ستة حاجات رئيسية، زي ما موضح في الصورة:
- قائمة الطلبات ( Request List ): في أعلى الشاشة على اليسار، بتبينلك القائمة بكل الطلبات اللي بتبعتها للموقع. وبتقدر تتحكم بعدة طلبات في وقت واحد.
- عناصر التحكم في الطلب ( Request Controls ): تحت قائمة الطلبات، خياراتها زي إرسال الطلب، أو إلغاء طلب جاري، وتصفح تاريخ الطلبات.
- عرض الطلب والرد ( Request and Response View ): الجزء هاد بوخد مساحة كبيرة في الواجهة وبيبينلك الطلب والرد. و بتقدر تعدل في الطلب وتبعثه مره ثانية ، والرد بظهر في نفس المكان.
- خيارات التصميم ( Layout Options ): في أعلى اليمين من عرض الطلب والرد، خيارات بتسمحلك تعدل شكل الواجهة على حسب رغبتك.
- الفاحص ( Inspector ): في الجهة اليمنى، هاي حاجة بتساعدك تحلل وتغير الطلبات بشكل أسهل من استخدام المحرر النصي.
- الهدف ( Target ): فوق الفاحص، في حقل اسمه "الهدف"، بتحدد العنوان اللي بدك تبعث له الطلبات. ولو الطلبات جاية من مكان تاني في برب سويت، بتتعبى تلقائي.
ما هي الأقسام التي تمنحنا تحكمًا أكثر سهولة في طلباتنا؟
Inspector
ارسال طلب الى الـ Repeate
في حال بدنا نرسل طلب يدوياً، بس الأكثر استخداماً هو نلتقط الطلب باستخدام الوحدة اللي اسمها proxy وبعدين نبعثها للـ Repeate عشان نعدل عليها ونرسلها مرة ثانية. لما نلتقط الطلب في البروكسي، نقدر نبعثه للـ Repeate إما بالضغط الزر الأيمن واختيار Send to Repeate ، أو باستخدام الاختصار Ctrl + R .

لما نروح للـ Repeate ، نشوف إن الطلب اللي اخترناه في البروكسي صار متاح الآن في قسم Request . كل اللي محتاجينه هو زي المعلومات اللي في القسمين Target و Inspector . لما نضغط على زر الإرسال، يتم تعبئة قسم الـ Response بسرعة

إذا حابين نعدل على أي جزء من الطلب، بنقدر نكتب في قسم Request view ونضغط إرسال مرة ثانية. راح يحدّث قسم الرد على اليمين ويظهرلنا الرد. مثلا، لو غيرنا الاتصال ليكون مفتوح بدل مغلق ، راح يجيب لنا رد مع تروسة الاتصال مكتوب فيها حفظ الاتصال :

وبعدين، بنقدر نستخدم زرار السجلات اللي على يمين زر الإرسال عشان نتنقل في تاريخ التعديلات اللي سويناها، ونروح للأمام أو للوراء على حسب اللي نحتاج.
ما هو العرض الذي سيتم ملؤه عند إرسال طلب من Proxy إلى Repeater ؟
Request
أدوات الفحص (Toolbar) في برنامج Repeater
البرنامج بعطينا امكانيات لـ عرض الطلبات والردود بشكل مختلف، مثل عرض البيانات بالهيكسا، أو عرضها بشكل صفحة ويب كاملة.

- Pretty: الخيار الافتراضي، بوخذ الرد الأولي وبعمل له تنسيق بسيط عشان يكون أسهل للـ قراءة.
- Raw: بعرض الرد كما هو، بدون أي تنسيق إضافي.
- Hex: بيعرض الرد بتمثيل البايتات، مفيد لملفات البيانات الثنائية.
- Render: بسمح لنا نشوف الصفحة زي ما هي هراح تظهر في متصفح الويب.
في زر على اليمين يُسمى Show non-printable characters . هذا الزر بساعد على إظهار الحروف التي قد لا تظهر بوضوح بواسطة الخيارين الرئيسيين Pretty و Raw. يُستخدم هذا الخيار لرؤية الأحرف الخاصة مثل \r\n ، والتي تمثل عودة السطر وبداية سطر جديد في رد السيرفر. استخدام هذا الزر يجعلها واضحة وقابلة للتحليل بشكل أفضل.
ما الخيار الذي يسمح لنا بتصور الصفحة كما تظهر في متصفح الويب؟
Render
الـ Inspector
الـ Inspector هي ميزة إضافية في قسم الـ Repeater، واللي هو جزء من الـ Repeater module. يعني إنها بتفيدنا لما نكون بنشوف الطلبات والردود. الـ Inspector بتساعدنا نشوف الـ breakdown بطريقة منظمة للطلبات والردود، وكمان نجرب نشوف كيف التعديلات اللي بنعملها بتأثر على الـ raw versions تاعتها.
الـ Inspector بتشتغل في الـ Proxy والـ Repeater، بتكون في الجهة اليمين وبتعرض لنا قائمة بالمكونات اللي في الطلب والرد.
من ضمن الحاجات اللي ممكن نعدلها، الأقسام اللي للطلب ممكن نعدلها بشكل عام. زي قسم Request Attributes ، اللي بنقدر نعدل فيها على مكونات الطلب زي المكان، والطريقة، وبروتوكول الطلب. يعني بنقدر نغير المورد المطلوب، أو نغير الـ HTTP method من GET إلى حاجة تانية، أو نغير البروتوكول من HTTP/1 إلى HTTP/2.
في أقسام ثانية ممكن نشوفها أو نعدل فيها:

- Request Query Parameters : هاي للبيانات اللي بنبعثها للسيرفر عبر الرابط. على سبيل المثال، لو كان في طلب GET زي https://admin.tryhackme.com/?redirect=false ، فإن الـ (query parameter)
اللي اسمه redirect بتكون قيمته false.
-
- Request Body Parameters : زي الـ query parameters، بس بتختص بالطلبات اللي بتستخدم HTTP method تسمى POST. أي بيانات بتنبعث كجزء من طلب POST بتنعرض في هالقسم، وبنقدر نعدل عليها قبل ما نبعثها مره ثانيه.
- Request Cookies : القسم هاد فيه قائمة بالكوكيز اللي بتنبعث مع كل طلب، وبنقدر نعدل فيها.
- Request Headers : بعطينا إمكانية نشوف ونعدل (نضيف أو نشيل) أي هيدرات بنبعثها في الطلبات. التعديل فيها بكون مفيد لما نحاول نشوف كيف السيرفر بيستجيب لهيدرات غير متوقعة.
- Response Headers : القسم هاد بعرض لنا الهيدرات اللي بترجع من السيرفر ردًا على الطلب. ما بنقدر نعدل عليها لأننو ما عندنا تحكم في الهيدرات اللي السيرفر برجعها. هو بظهر بعد ما نبعث الطلب وناخد الرد.
حل سؤال
ما القسم في Inspector المخصص لطلبات POST؟
Body Parameters
1 Challenge
عند فتح الموقع على الـ browser الخاص بـ burp suite
عند الضغط على عند فتح الموقع على الـ browser الخاص بـ burp suite
تظهر هذه الصفحه على burp suite
عند الضغط على زر الماوس الايمن (كلك يمين )
ثم ارسال الى الـ Repeater بفتح الصفحة هذه
كما هو مطلوب من التحدي هو اضافة header يسمى FlagAuthorised ووضع قيمته True هكذا
وعند الضغط على Send
او يمكنك ببساطة من الـ intercept اضافة الـ header والضغط على Forward
حل السؤال
ما هو العلم الذي تتلقاه؟
THM{Yzg2MWI2ZDhlYzdlNGFiZTUzZTIzMzVi}
2 Challenge
عند الذهاب الى الرابط http://( ip )/products كما يطلب التحدي، عند الضغط على see more نجد الرابط يحولنا الى
كما يطلب التحدي ان يعطي الموقع خطأ 500
500 خطأ في الخدمة الداخلية، يشير إلى أن الخادم واجه مشكلة لا يعرف كيفية التعامل معها بشكل صحيح.
يمكن ذلك عن طريق استبدال الرقم 2 بأي رقم سالب مثلًا ....الخ
ما هي العلامة التي تتلقاها عندما تسبب خطأ 500 في نقطة النهاية؟THM{N2MzMzFhMTA1MmZiYjA2YWQ4M2ZmMzhl}
3 Challenge
الفكرة إنك تحاول تخترق موقع على أساس إن فيه ثغرة في نظام قاعدة البيانات اللي بيستخدموه. الهدف هو تجيب معلومات عن الرئيس التنفيذي (CEO) من البيانات المخزنة في الداتابيز.
نجرب ندخل single qoute ( ' ) بدلا من الرقم لنرى اذا اعطى اي اخطاء او معلومات
الفكرة الان هي أنك تحاول تستفيد من هذه الثغرة SQL عشان تتلاعب في قاعدة البيانات
. المرحلة الثالية هي استخدام UNION SELECT وغيرها من الأوامر للوصول للبيانات اللي بدك اياها.
الآن من خلال الخطأ لدينا المعلومات التاليه
الـ people : اسم جدول موجود في قاعده البيانات
الـ firstName, lastName, pfpLink, role, bio : اسماء اعمدة موجودة في الجدول
عند وضع الـ Quere التاليه :
SQL:
-1 UNION ALL SELECT group_concat(column_name),null,null,null,null FROM information_schema.columns WHERE table_name="people"
يتم محاولة لاستعراض أسماء الأعمدة (column names) في الجدول. يعني، بعد ما تكتشف الثغرة وتعرف اسم الجدول، بتعرف أسماء الأعمدة في هذا الجدول.
يظهر لي اسم عامود ( notes )
عن طريق هذه الـ quere
SQL:
-1 UNION SELECT notes,null,null,null,null FROM people WHERE id = 1
نستطيع سحب المعلومات التي بداخل النوتس
What is the flag?
THM{ZGE3OTUyZGMyMzkwNjJmZjg3Mzk1NjJh}
الـ Intruder
هي أداة قوية تمكنك من الهجمات التلقائية وتخصيصها حسب احتياجاتك. فيها إمكانية تعديل أجزاء معيّنة من الطلب وإجراء اختبارات متكرّرة باستخدام تغييرات في بيانات الإدخال. الـ Intruder مفيدة خصوصًا في مهام الـ Fuzzing والـ Brute-forcing ، حيث يحتاج الشخص لاختبار قيم مختلفة ضد هدف معيّن.
الـ Intruder بتساعدك تجرب الثغرات في المواقع. الفكره هي إنها بتسمحلك تعدل الطلبات تلقائيًا وتجرب بأشكال مختلفة لقيم الإدخال. ممكن تستخدمها عشان تجرب اشياء زي اختراق نماذج الدخول بتغيير اسم المستخدم وكلمة السر باستخدام قائمة كلمات، أو تجرب هجمات باستخدام قوائم كلمات لاختبار أماكن معينة في الموقع.
لكن إذا استخدمتها في نسخة برنامج Burp المجانية، بتكون بطيئة شوي مقارنة بالنسخة المدفوعة.
.
الواجهة اللي بتظهرلك لما تشتغل على الـ Intruder فيها أربع خيارات :
- الـ Positions : هاي بتسمحلك تختار نوع الهجوم وتعدل مكان إدخال القيم في الطلب.
- الـ Payloads : هنا تختار القيم اللي بدك تدخلها في الأماكن اللي اخترتها في القسم السابق ( Positions ). وممكن تستخدم خيارات ثانيه زي تحميل قيم من قائمة كلمات.
- الـ Resource Pool : مش مهمة كتير في النسخة المجانية، بتسمح بتوزيع الموارد بين مهام البرنامج الآلي.
- الـ Settings : هنا تقدر تعدل سلوك الهجوم وكيفية تعامل البرنامج مع النتائج.
في أي علامة تبويب للـ Intruder يمكننا تحديد "نوع الهجوم" لهجومنا المخطط له؟
Positions
الـ Positions
في القسم هاد، راح تشوف إن برنامج Burp Suite بيحاول بشكل تلقائي يحدد المكان الأكثر احتمالية إنه يكون فيه ( يمكن حط فيه البيانات ) . الأماكن هاي بتتحدد باللون الأخضر ويتم إطارها بعلامات (§).
على اليمين في الشاشة، بتلاقي ازرار معينة:§ Add § / Clear § / Auto
- زر الـ § Add : بيسمحلك تعّرف مكان جديد يدويًا ببساطة بالتحديد بالمحرر وبعدين تضغط الزر Add .
- زر الـ § Clear : بشيل كل المكان اللي تم تحديده، وبعطيك مساحة خالية إنك تعّرف فيها مكانك بنفسك.
- زر الـ § Auto : بيحاول بشكل تلقائي يحدد المكان بناءً على الطلب. هاي مفيدة إذا قبل مسحنا المكان اللي برنامج برب سويت كان محدده لنا، وبدنا نرجع نشوفه.
فيديو بسيط يوضح كيفيه عملها

ما الرمز الذي يحدد بداية ونهاية الـ Payload ؟
§
الـ Payloads
نقدر نسوي ونهيئ payloads لهجومنا. هالجزء مقسم إلى أربعة أقسام:
1. الـ Payload Sets : هالقسم بسمحلنا نختار المكان اللي بدنا نهيئ فيه الـ payload ونختار نوع الـ payload اللي بدنا نستخدمه.
1. اذا استخدمنا أنواع الهجمات اللي بتسمح بـ payload واحد فقط (مثل Sniper أو Battering Ram ), راح يكون في الـ dropdown خيار واحد فقط، مهما كان عدد المواقع المحددة.
2. إذا استخدمنا أنواع هجمات تحتاج لـ payload sets متعددة (مثل Pitchfork أو Cluster Bomb)، راح يكون في الـ dropdown خيار لكل موقع.
عند تعيين أرقام في القائمة Payload Set لمواضع متعددة ( dropdown for multiple positions ) لازم نبدأ من الأعلى ونتحرك للأسفل ومن اليسار لليمين. مثلاً، لو عندنا مكانين §username=§pentester§&password=§Expl01ted الخيار الأول في القائمة راح يشير لحقل الـ username، والثاني راح يشير لحقل الـ password.2. الـ Payload settings : هالقسم يوفر خيارات خاصة بنوع الـ payload المحدد للمجموعة الحالية . مثلا لما نستخدم نوع Simple list ، بنقدر نضيف أو نشيل payloads يدويًا من أو إلى المجموعة باستخدام مربع النص اللي فيه Add ، أو Paste lines ، أو Load payloads from a file .
زر الـ Remove بشيل السطر اللي محدد حاليًا،
زر الـ Clear بمسح القائمة كاملة.
لازم نكون حذرين لما نحمل قوائم ضخمة، لأنها قد تسبب توقف burp عن العمل. كل نوع من الـ payload راح يكون له خياراته ووظائفه.3. الـ Payload Processing : في هاد القسم بنقدر نحدد قواعد يتم تطبيقها على كل payload في المجموعة قبل ما يتم إرسالها للهدف. على سبيل المثال، بنقدر نجعل كل كلمة تبدأ بحرف كبير، أو نتجاوز الـ payloads اللي تطابق نمط regex، أو نطبق تحويلات أو فلترة أخرى.
4. الـ Payload Encoding : هالقسم بسمحلنا نخصص خيارات التشفير للـ payloads. عادة، برب سويت بطبق تشفير URL تلقائيًا لضمان نقل الـ payloads بشكل آمن. بس في حالات قد تحتاج فيها نعدل سلوك التشفير. بنقدر نتجاوز خيارات التشفير الافتراضية برب سويت عن طريق تعديل قائمة الحروف المراد تشفيرها أو إلغاء تحديد خانة URL-encode these characters .باستخدام هذه الأقسام، بنقدر نصنع ونضبط مجموعات payloads لتناسب متطلبات هجماتنا. المستوى هاد من التحكم بسمحلنا نضبط الـ payloads بدقة لاختبار واستغلال فعال.
ما هي القاعدة Payload processing التي يمكننا استخدامها لإضافة أحرف في نهاية كل حمولة في المجموعة؟
Payload processing
الـ Introduction to Attack Types
أنواع لهجمات في برنامج Burp Suite Intruder. في البداية، لازم تعرّف إنو في تاب في البرنامج اسمه Positions، وهاد اللي بسمح لك تختار نوع الهجوم اللي بدك تستخدمه .
في أربعة أنواع مختلفة:
- الـ Sniper (القناص): هاي الطريقة الأكثر استخداماً، بتمر على كل الـ payloads اللي معاك وبتحط وحدة في كل مكان في الطلب. بتساعد في اختبار دقيق ومحدد.
- الـ Battering ram (المدفع): هاي بتبعث كل الـ payloads في نفس الوقت، كل payload في مكانها. بتفيد لما تحتاج تبعث payloads في نفس اللحظة.
- الـ Pitchfork (الشوكة): هاي بتسمحلك تختبر عدة مواقع في نفس الوقت، وكل موقع بيكون معاه payloads مختلفة. بتكون مفيدة لما تكون فيه باراميترات مختلفة بتحتاج اختبار منفصل.
- الـ Cluster bomb (القنبلة العنقودية): هاي بتجمع بين الـ Sniper و الـ Pitchfork. بتعمل هجوم زي الـ Sniper على كل مكان، بس بنفس الوقت بتختبر كل payloads من كل مجموعة. بتفيد لما المواقع مختلفة وكل مكان له payloads مختلفة وبدك تختبرهم كلهم سوا.
ما هو نوع الهجوم الذي يمر عبر الـ payloads بإدخال payload واحدة في كل مرة في كل موضع محدد في الطلب؟
Sniper
الـ Sniper
الـ Sniper في برنامج بورب سويت هو نوع هجوم يستخدم كثير، خصوصًا لمهاجمة مكان واحد في الريكوست زي لما تحاول تخمن باسوورد أو تجرب قيم معينة في الـ API endpoints. بالمختصر الـ Sniper بياخد مجموعة من القيم، زي قائمة كلمات أو رقم معين، وبحط كل قيمة في مكان محدد في الريكوست.
عندنا مثال بسيط، لوكان عندك ريكوست زي هاد :
عندك مكانين محددين في الريكوست، واحد لل user name والثاني لل password.
البرنامج بختار كل قيمة من القائمة وبحطها في كل مكان في الترتيب.
لو عندك قائمة فيها ثلاث كلمات:
burp
suite
intruder
علمًا ان الاسم الدخل هو abood والباسورد qawfaefszd
البرنامج بعمل six requests :
- username=burp&password=qawfaefszd
- username=suite&password=qawfaefszd
- username=intruder&password=qawfaefszd
- username=abood&password=burp
- username=abood&password=suite
- username=abood&password=intruder
وضع الكلمات
ثم الضغط على START ATTACK
ثم الضغط على START ATTACK
البرنامج برتب القيم بترتيب يعني ببدأ بالمكان الأول (اليوزرنيم) وبحط كل قيمة بالورد ليست فيه
بعدين بمشي للمكان الثاني (الباسوورد) وبعمل نفس الحكاية.
عدد ال requests الكلي اللي بعملها البرنامج بنحسب بالقانون:
عدد الكلمات بالمستند * عدد المكانين
3 * 2 = 6
حل الاسئلة
إذا كنت تستخدم Sniper للتشويش على ثلاث معلمات في طلب يحتوي على قائمة كلمات تحتوي على 100 كلمة، فما عدد الطلبات التي سيحتاج Burp Suite إلى إرسالها لإكمال الهجوم؟ 100 * 3 = 300
ما عدد مجموعات الحمولات التي سيقبلها Sniper للقيام بالهجوم؟
1
الـ Battering Ram
الـ Battering Ram attack مختلفة عن الـ Sniper لأنها بتحط نفس الـ payload في كل مكان في نفس الوقتمو زي الـ Sniper اللي بحط كل payload في كل موقع لوحده.
نوع الهجوم Battering Ram مفيد لما بدنا نختبر نفس الـ payload ضد عدة مواقع دفعة واحدة بدون الحاجة للاستبدال التسلسلي.
لو بدك تعمل Battering Ram Intruder attack على الطلب المثال اللي فوق وعندك wordlist فيه كلمتين (admin و Guest)،
والمواضع في القالب كالتالي: username=abood&password=qawfaefszd
نضع الكلمات
نختار نوع الهجوم ونضغط على START ATTACK
نختار نوع الهجوم ونضغط على START ATTACK
ما هي المعلمات للطلب الأول الذي يرسله Burp Suite؟
username=admin&password=admin
الـ Pitchfork
يعتبر هجوم الـ Pitchfork شبيهًا بتشغيل هجمات Sniper متعددة بشكل متزامن.
بينما يستخدم Sniper مجموعة بيانات وحدة لاختبار جميع المواقع في وقت واحد
يستخدم Pitchfork مجموعة بيانات واحدة لكل موقع (حتى 20 موقعًا كحد أقصى) ويتكرر من خلالها جميعها في نفس الوقت.
لتوضيح فكرة الـ Pitchfork نحل مثال عليه
القائمة الأولى تحتوي على أسماء مستخدمين :
joel
harriet
alex
القائمة الثانيه تحتوي على كلمات المرور :
J03l
Emma1815
Sk1ll
نضغط على START ATTACK
ما هو الحد الأقصى لعدد مجموعات الـ Payload التي يمكننا تحميلها إلى Intruder في وضع Pitchfork؟
20
الـ Cluster Bomb
الـ Cluster Bomb هو نوع من أنواع الهجمات اللي بتيحلنا اختيار مجموعات متعددة من البيانات التي يمكن إدخالها
حيث يمكن اختيار مجموعة من البيانات لكل مكان في الطلب (حتى 20 مكان).
على عكس نوع الهجوم Pitchfork حيث يتم اختبار جميع مجموعات البيانات بشكل متزامن
يقوم Cluster Bomb بتكرار كل مجموعة بيانات على حدة، مما يضمن اختبار كل تركيب ممكن للمعلومات المقدمة .
لتوضيح فكرة الـ Cluster Bomb نحل مثال عليه
القائمة الأولى تحتوي على أسماء مستخدمين :
joel
harriet
alex
القائمة الثانيه تحتوي على كلمات المرور :
J03l
Emma1815
Sk1ll
نضغط على START ATTACK
هذه هي الطلبات
1 | username=joel&password=J03l |
2 | username=harriet&password=J03l |
3 | username=alex&password=J03l |
4 | username=joel&password=Emma1815 |
5 | username=harriet&password=Emma1815 |
6 | username=alex&password=Emma1815 |
7 | username=joel&password=Sk1ll |
8 | username=harriet&password=Sk1ll |
9 | username=alex&password=Sk1ll |
كما هو موضح في الجدول، يقوم نوع الهجوم Cluster Bomb بأختبار كل احتمال عن طريق استبدال كل قيمة من كل مجموعة بيانات في الموضع المقابل في الطلب.هجمات Cluster Bomb قد تولد كمية كبيرة من حركة المرور حيث يتم اختبار كل تركيبه. يمكن حساب عدد الطلبات التي تقوم بها هجمة Cluster Bomb عن طريق ضرب عدد الأسطر في كل مجموعة بيانات معًا. يجب أن نكون حذرين عند استخدام هذا النوع من الهجمات، خاصة عند التعامل مع مجموعات بيانات كبيرة.
قد يستغرق تنفيذ هجوم Cluster Bomb مع مجموعة بيانات متوسطة الحجم وقتًا طويلاً عند استخدام إصدار Burp Community
لدينا ثلاث مجموعات حمولة. المجموعة الأولى تحتوي على 100 سطر، والثانية تحتوي على سطرين، والثالثة تحتوي على 30 سطرًا.
ما هو عدد الطلبات التي سيقدمها الدخيل باستخدام مجموعات الحمولة هذه في هجوم بالقنابل العنقودية؟
6000
مثال عملي وهمي
عندنا ملف مضغوط اسمه BastionHostingCreds.zip ، فيه معلومات دخول تم تسريبها من موظفي Bastion Hosting بعد هجوم إلكتروني.
عندنا قائمة بأسماء مستخدمين مع كلمات مرور متوافقة، يعني بنقدر نستخدم هجوم credential-stuffing بدل هجوم brute-force العادي. هالطريقة أسرع وأفضل.
هذا رابط تنزيل الملف المضغوط
اضغط هنا
بعد تفعيل الـ intercept وارسال طلب تسجيل الدخول الى الـ intruder
نحدد الـ Positions على مكان الاسم والباسوورد :
نحدد على الاسم ونضغط على Add كما تعلمنا سابقا في قسم الـ Positions وكذلك الباسوورد
مثل الصور

ثم نحدد نوع الهجوم
في قسم الـ payloads
نحدد في البايلود الاول قائمة بكلمات المستخدمين ملف ( usernames.txt )
نحدد في البايلود الثاني قائمة بكلمات السر بملف ( passwords.txt )
نجد ان الـ Length مختلف
ونجد بالاسفل ان ال Path قد تغير الى الـ support
بينما عندما نرى الـ Response على كلمة اخرى
نجد ان الـ Path مازال على صفحة الـ login
ما هي تركيبة اسم المستخدم وكلمة المرور التي تشير إلى محاولة تسجيل دخول ناجحة؟ تنسيق الإجابة هو "اسم المستخدم: كلمة المرور".
m.rerivera:letmein1
تحدي عملي 1 وهمي
لما ندخل للواجهة الرئيسية للدعم بالموقع ، بنشوف جدول فيه ticket مختلفة. إذا ضغطنا على أي وحده منهم ، بحولنا لصفحة بنقدر نشوف فيها الـ ticket كاملة. ولما ندرس هيك بنلاحظ إن الروابط فيها رقم ، بتكون بهاي الصيغة:
النظام رقمي، يعني التذاكر عندها أرقام صحيحة بسيطة مش معقدة ومش صعبة نحزرها. هالمعلومة مهمة لأنها بتعطينا احتمالين :
- التحكم في الوصول : ربما النهاية مضبوطة بشكل صحيح ومقيدة لنشوف بس التذاكر اللي مرتبطة بحسابنا.
- ثغرة الإشارة المباشرة غير الآمنة (IDOR) : في حالة النقطة الثانية، النهاية ممكن تكون مفتوحة وما فيها تحكم جيد، وهذا يؤدي لثغرة أمان معروفة باسم IDOR. وإذا كانت الحالة هي هكذا ، ممكن نستغل النظام ونقرأ جميع الـ ticket الموجودة، مهما كان مالكها.
[ WalkTh ] - التعرف على ثغرة IDOR ـ ( IDOR )
IDOR الـ IDOR هي بتحصل لما موقع ويب بيستخدم معلومات اليوزر نفسه بشكل مباشر بدل ما يتحقق منها أولاً. مثلاً، إذا كان فيه ثغرة IDOR، لما اكون بايباك (تقوم بالعمليات دون أن يلاحظك الموقع) على الموقع وتستولي على اشياء من غير ما يشوفك! أنا ممكن أستخدمها عشان أجيب معلومات أو اشياء من غير ما الموقع...

بنستخدم أداة Intruder عشان نجرب الأمان للرابط /support/ticket/NUMBER . هالخطوة راح تساعدنا نشوف إذا كانت النهاية مضبوطة صح أو فيها ثغرة IDOR.
ملحوظة: لازم نلتقط طلب واحنا مسجلين داخل النظام.
المرشح المثالي للـ payload (التذاكر مخزنة بقيم بين 1 و 100)، ومن ثم بداية الهجوم.
نحدد الموقع عند الرقم
نجد مواقع التي تعطي Status code = 200
هذا يعني انه تم اكمال الطلب بنجاح
200 تم إكمال الطلب بنجاح.
إما باستخدام علامة تبويب الاستجابة في نافذة نتائج الهجوم أو من خلال النظر إلى كل طلب ناجح (أي 200 رمز) يدويًا في متصفحك، ابحث عن التذكرة التي تحتوي على العلم.
نجد الحل في واحد من هذه الارقام
ما هو نوع الهجوم الأنسب لهذه المهمة؟
Sniper
إما باستخدام علامة تبويب الاستجابة في نافذة نتائج الهجوم أو من خلال النظر إلى كل طلب ناجح (أي 200 رمز) يدويًا في متصفحك، ابحث عن التذكرة التي تحتوي على العلم.
THM{MTMxNTg5NTUzMWM0OWRlYzUzMDVjMzJl}
تحدي عملي 2 وهمي
بعد التقاط طلب تسجيل الدخول الـ Administration
في الـ Intruder نقوم بالتحديد على اسم المستخدم والباسوورد كما فعلنا سابقا عن طريق التحديد على الاسم الذي ادخلته عند ارسال الطلب وعلى الباسوورد الذي ادخلته ثم الضغط على Add
عشان نجمع قيمة التوكن والكوكي اللي بتتغير لازم نعمل ماكرو.
الـ Macro هاي بتسمح لنا نكرر نفس الإجراءات عدة مرات. الإعدادات بتكون سهلة
لازم نعمل قواعد لمعالجة الجلسات تحدد استخدام الـ Macro.
هاد بنعمل بالاعدادات في قسم الـ Sessions ، هنعمل Rule جديدة.
عند الضغط على Add
نضيف خيار admin/login/
الان من قسم Session Handling Rules فوق قسم الـ Macros
اضغط على Add . بتظهر نافذة جديدة فيها : Details و Scope.
اجعل الخيارات كما بالصورة
1. جعل التحديد فقط على الـ Intruder
2. جعل الـ URL Scope على خيار Use suite scope
الـ Scope settings :
لو إنت بتشتغل في مجال الـBurp Proxy، أول اشي لازم تعرفها إنه لما تشتغل بالبروكسي، بتلتقط وبتسجل كل الحركات اللي بتصير على الشبكة، بس ممكن تكون هاي الحركات كتيرة وملهاش لازمة. هون بتيجي فكرة "السكوب"، إنك تحدد نطاق العمل ، أو بمعنى تاني تختار الويبسايتس اللي إنت بدك تراجعها بس. أسهل طريقة لعمل السكوب هي إنك تدخل على تاب الـ Target، تعمل كليك يمين على الويبسايت اللي إنت بدك تشتغل عليه، وتختار Add To Scope. هون بطلب منك إذا بدك توقف تسجيل أي حاجة مش موجودة في الـ Scope. عشان تتأكد من الـScope الخاص فيك بتدخل على تاب الـ Target بتلاقي Scope settings ، ومن هون بتقدر تتحكم في الـ Scope الخاص بك بإضافة أو إستبعاد عناوين الـIP أو الدومينز.
بس حتى لو أوقفت تسجيل الحركات اللي مش موجودة في الـ Scope، البروكسي بيوقف كل حاجة. عشان هيك لازم تدخل على تاب الـ Proxy وتختار And URL Is in target scope من قسم Intercept Client Requests . لما تشغل الخيار هاد، البروكسي بتجاهل أي حركة مش موجودة في الـ Scope، وهاد بخلي الشاشة في برنامج الـ Burp أنظف وأسهل للفهم.
والان نرجع لقسم الـ Ditails ونظغط على Add ثم على Run a macro
ونختار المايكرو الذي انشأناه مسبقاً
نجعل التحديد على Update only the following parameters and headers
وبالضغط على Edit نضيف كلمة loginToken
وبالاسفل
نجعل التحديد على Update only the following cookies
وبالضغط على Edit نضيف كلمة session
فيديو توضيحي للاجراءات السابقه

هيك صار عندك ماكرو جاهز بتحدث التوكن والكوكي في كل ريكوست.
ثم في قسم الـ payloads
نحدد في البايلود الاول قائمة بكلمات المستخدمين ملف ( usernames.txt )
نحدد في البايلود الثاني قائمة بكلمات السر بملف ( passwords.txt )
ثم نضغط على Start Attack
نحدد في البايلود الثاني قائمة بكلمات السر بملف ( passwords.txt )
ثم نضغط على Start Attack
نجد كل الطلبات تعطينا رمز 302 والذي يعني
302 إعادة توجيه مؤقتة، تشير إلى أن التغيير مؤقت وقد يتغير مرة أخرى في المستقبل القريب.
عند ترتيب النتائج حسب الـ Length نجد بيانات الصالحةما هي تركيبة اسم المستخدم وكلمة المرور التي تشير إلى محاولة تسجيل دخول ناجحة؟ تنسيق الإجابة هو "اسم المستخدم: كلمة المرور".
o.bennett:bella1
المرفقات
-
1704795601936.png11.4 KB · المشاهدات: 466
-
1704795951863.png66.7 KB · المشاهدات: 136
-
1704796039653.png66.7 KB · المشاهدات: 151
-
1705214453299.png4.8 KB · المشاهدات: 135
-
1705312930625.png47.2 KB · المشاهدات: 146
-
1705322807076.png136.4 KB · المشاهدات: 136
-
1705330606436.png6.6 KB · المشاهدات: 139
-
1705424652383.png32 KB · المشاهدات: 140
-
1705424667318.png32 KB · المشاهدات: 137
-
BastionHostingCreds.zip3.4 KB · المشاهدات: 418
-
usernames.txt898 بايت · المشاهدات: 201
-
1705428376054.png72.1 KB · المشاهدات: 137
-
1705428520884.png81.5 KB · المشاهدات: 150
-
1705437972679.png10.4 KB · المشاهدات: 133
-
1705473103729.png42.4 KB · المشاهدات: 153
-
1705475012377.png18.5 KB · المشاهدات: 147
التعديل الأخير بواسطة المشرف: