تعليق
هذا الدليل مخصص للمبتدئين الذين لا يزال لديهم الحد الأدنى من المعرفة بأمن المعلومات. أحاول تشجيع الشباب الذين لديهم الكثير من الوقت والذين يرغبون في القيام بشيء مثمر.
مقدمة
كما تعلمون بالفعل ، هناك العديد من المواقع الوسيطة التي تعمل مع الشركات لزيادة فعالية برنامج Bug Bounty ، بما في ذلك:
- hackerone.com
- bugcrowd.com
- intigriti.com
- yeswehack.com
- openbugbounty.org
- synack.com (بريفا)
كيف يعمل؟
- تبحث عن نقاط الضعف
- نكتب الخطوات المتخذة لاستغلال الضعف
- يلقي قبالة هذا التقرير التكنولوجيا. دعم.
- نحصل على عملة معدنية.
ماذا نحتاج لهذا؟
VPS ، ويفضل أن يكون Debian (قد يتم استخدام الآخرين) + اتصال إنترنت جيد (أقوم باستقباله من alexhost.com ، وذاكرة وصول عشوائي (VPS 1.5 GB) و 1 Core و 10GB SSD مقابل 11 يورو فقط في السنة).
- sublist3r
- httprobe
- webscreenshot
- استجابة الرأس
- النسبي رابط-مستخرج
- jsfiles النازع
تحديد التفضيلات
كتبت نصيًا صغيرًا لتسهيل تثبيت الأدوات.
root@debian-s-1vcpu-2gb-ams3-01:~# git clone https://github.com/airwawekz/xrec.git root@debian-s-1vcpu-2gb-ams3-01:~# cd xrec root@debian-s-1vcpu-2gb-ams3-01:~# chmod +x xrec-install.sh root@debian-s-1vcpu-2gb-ams3-01:~# ./xrec-install.sh
عملية تحديد الهوية
افترض أن البرنامج الذي نريد المشاركة فيه يهدف إلى البحث عن الثغرات الأمنية في جميع المجالات الفرعية ، بما في ذلك النطاق الرئيسي. عادةً ما يكون النطاق الأساسي أكثر أمانًا من نطاقاته الفرعية ، مما يعني أنه يجب علينا التركيز على النطاقات الفرعية.
على سبيل المثال: * .example.com
الخطوة الأولى:نحدد جميع النطاقات الفرعية التي تنتمي إلى example.com. لهذا نستخدم Sublist3r.

root@debian-s-1vcpu-2gb-ams3-01:~# cd /root/xrec/Sublist3r/
root@debian-s-1vcpu-2gb-ams3-01:~# python sublist3r.py -d example.com -o domains.txt

أقترح إضافة واجهات برمجة التطبيقات في تكوين البرنامج النصي للحصول على أفضل النتائج. (مثال: فيروسي)
نحن في انتظار اكتمال الفحص ، وفي النهاية ستقوم بإنشاء ملف "domains.txt" يتم فيه حفظ نتائج عملية المسح.
الخطوة الثانية:نتحقق من النطاقات الصالحة ، لذلك نستخدم httprobe.
root@debian-s-1vcpu-2gb-ams3-01:~# cat domains.txt | httprobe | tee -a alive.txt
بعد الانتهاء من هذه العملية ، ستقوم بإنشاء ملف يسمى "alive.txt" مع نطاقات فرعية صالحة.
الخطوة الثالثة:نحن نلتقط لقطات لكل موقع نشط ، هذه الخطوة تساعدنا على تحديد النطاقات الفرعية المحتملة المحتملة بسرعة إذا كان لدينا قائمة كبيرة من المجالات الصالحة.
root@debian-s-1vcpu-2gb-ams3-01:~# python /root/xrec/webscreenshot/webscreenshot.py -r chromium -i alive.txt -o /root/xrec/webscreenshot/screens/

سيتم حفظ النتائج في المجلد / root / xrec / webscreenshot / screen / as * example.com.png.
بعد الانتهاء من هذه العملية ، أوصي بأن تتحقق من كل لقطة شاشة على حدة. غالبًا ما أجد نطاقات فرعية منسية مع سم مستضعفة.
الخطوة الرابعة:نتحقق من استجابة الرأس ، هذه الخطوة مهمة للغاية ، وهناك العديد من نقاط الضعف التي يمكن استخدامها من خلال الرأس.
على سبيل المثال:
Yahoo Remote Code Execution root@debian-s-1vcpu-2gb-ams3-01:~# cd /root/xrec/ | sudo chmod +x response.sh root@debian-s-1vcpu-2gb-ams3-01:~/xrec# ./response.sh /root/xrec/Sublist3r/alive.txt

في نهاية هذه العملية ، سيتم إنشاء مجلدين "رؤوس" و "استجابة" ، حيث سيتم حفظ نتائج التحقق.
الخطوة الخامسة:الخطوة الأخيرة هي استخراج نقطة النهاية من ملفات JS. للقيام بذلك ، استخدم jsfiles extractor.
root@debian-s-1vcpu-2gb-ams3-01:~# cd /root/xrec/ | chmod +x jsfiles.sh root@debian-s-1vcpu-2gb-ams3-01:~# ./jsfiles.sh
بعد اكتمال هذه العملية ، يتم إنشاء مجلد باسم "البرامج النصية" ، حيث ستبدو جميع الملفات مثل
www.example.com .

في الوقت الحالي ، قمنا بجمع معلومات كافية ، علينا فقط اختبارها.
على سبيل المثال:
إذا كان لديك روابط نهائية: "details.php؟ Id = 3" أو "details / id / 3" ، فإن الخطوة الأولى هي اختبار الثغرات الأمنية مثل XSS / SQLi.
مثال آخر ، إذا كان لدينا روابط نهائية: = redirectUrl = / example / photo ، يمكننا تجربة إعادة التوجيه المفتوحة.
إذا كانت لديك نقاط نهاية في النموذج: /pingcheck.php؟s=google.com ، فيمكنك إجراء اختبارات RCE أو SSRF إذا كان لديك شيء مثل /viewpage.php؟s=google.com.
ماذا يمكنني أن أضيف أكثر؟
- المزيد من المصادر / واجهات برمجة التطبيقات لمسح النطاقات الفرعية (مثل Censys و Shodan وما إلى ذلك)
- ميناء المسح الضوئي مع nmap
- bruteforce الاتجاه
- أتمتة جميع العمليات
XSS Snapchat
باستخدام عملية مسح النطاقات الفرعية ، وجدت أن هذا المجال الفرعي snappublisher.snapchat.com له وظيفة مثيرة للاهتمام لتحميل الصور بعد عدة محاولات غير ناجحة للذهاب إلى المرشح ، لاحظت أنه يمكنك تحميل ملفات SVG (Scalable Vector Graphics) وبعد ذلك كان كل شيء بسيطًا
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg"> <polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/> <script type="text/javascript"> alert(document.domain); </script> </svg>
قمت بحفظ الرمز كـ img.svg وقمت بتحميل الصورة ، ثم فتح الصورة في علامة تبويب جديدة -> كان المعالج نشطًا.
لسوء الحظ ، لا يمكن استخدام مشكلة عدم الحصانة هذه إلا في هجمات التصيد الاحتيالي. أبلغنا عن مشكلة عدم الحصانة هذه لفريق Snapchat من خلال Hackerone. لقد شكرنا))
لن تنظر - لن ترى ، لن تسأل - لن تجد.