- بواسطة x32x01 ||
لو بتعمل Recon على عدد كبير من الدومينات باستخدام
بدل ما تفتح
الأمر ده بيقرأ الملف، وبعدها:
🔎 ده بيكون مفيد جدًا لما يكون عندك عدد كبير من الدومينات والنتائج، وعايز تحدد بسرعة أي Templates تستحق المراجعة أولًا.
مثلًا لو عايز تدور على النتائج المتعلقة بـ
وده هيعرض لك الأسطر اللي تحتوي على كلمة
ممكن تستخدم نفس الفكرة مع أي كلمة أو Template موجودة في النتائج.
💡 لو عايز البحث يكون غير حساس لحالة الأحرف، تقدر تستخدم
وبكده هيتم البحث عن
مثلًا، لو عندك ملف JSON اسمه
الميزة هنا إن JSON عبارة عن بيانات منظمة، وبالتالي
🎥 لو محتاج شرح عملي لاستخدام
لكن مع عدد كبير من الدومينات، حجم الـ output ممكن يكبر بسرعة، وهنا أوامر بسيطة زي:
بتساعدك تعمل filtering سريع للنتائج وتحدد الأماكن اللي محتاجة مراجعة بشكل أكثر تنظيمًا.
📌 والأهم إن الأوامر دي بتتعامل مع النتائج الموجودة عندك بالفعل، يعني مش محتاج تعيد تشغيل الـ scan كل مرة لمجرد إنك عايز تستخرج نوع معين من النتائج.
الأمر:
يفترض إن الجزء المطلوب موجود في أول حقل مفصول بمسافة. لو تنسيق الـ output مختلف، هتحتاج تعدل طريقة استخراج الحقل قبل استخدام
وده مهم خصوصًا مع اختلاف طريقة إخراج النتائج بين النص العادي وJSON.
Nuclei، غالبًا هتلاقي نفسك قدام ملف نتائج كبير جدًا، وقراءة الـ findings واحدة واحدة هتكون متعبة ومش عملية.بدل ما تفتح
results.txt وتراجع كل نتيجة، تقدر تستخدم شوية أوامر بسيطة في Linux عشان تعرف بسرعة:- عدد الـ findings لكل Template.
- أي Templates ظهرت بشكل متكرر.
- النتائج المرتبطة بنوع معين، زي
GraphQL. - وإزاي تتعامل مع النتائج لو كانت بصيغة JSON باستخدام
jq.
📊 معرفة عدد النتائج لكل Nuclei Template
لو نتائج Nuclei موجودة في ملف اسمهresults.txt، استخدم: Bash:
cat results.txt | cut -d" " -f1 | sort | uniq -c الأمر ده بيقرأ الملف، وبعدها:
catيعرض محتوىresults.txt.cut -d" " -f1يأخذ أول جزء من كل سطر اعتمادًا على المسافة كفاصل.sortيرتب النتائج.uniq -cيحسب عدد مرات تكرار كل نتيجة.
🔎 ده بيكون مفيد جدًا لما يكون عندك عدد كبير من الدومينات والنتائج، وعايز تحدد بسرعة أي Templates تستحق المراجعة أولًا.
🔍 البحث عن نوع معين من النتائج
بعد ما تعرف الـ findings الموجودة، ممكن تبحث عن نوع معين باستخدامgrep.مثلًا لو عايز تدور على النتائج المتعلقة بـ
GraphQL: Bash:
cat results.txt | grep graphql graphql.ممكن تستخدم نفس الفكرة مع أي كلمة أو Template موجودة في النتائج.
💡 لو عايز البحث يكون غير حساس لحالة الأحرف، تقدر تستخدم
-i: Bash:
cat results.txt | grep -i graphql graphql سواء كانت مكتوبة بحروف صغيرة أو كبيرة.🧩 التعامل مع نتائج Nuclei بصيغة JSON
لو بتشغل Nuclei وبتخزن الـ output بصيغة JSON، فالأفضل استخدامjq لمعالجة النتائج بدل التعامل معها كنص عادي.مثلًا، لو عندك ملف JSON اسمه
results.json، تقدر تستخدم jq لاستخراج الحقول اللي محتاجها أو تصفية النتائج حسب قيمة معينة.الميزة هنا إن JSON عبارة عن بيانات منظمة، وبالتالي
jq بيسمح لك تتعامل مع كل field بشكل منفصل بدل الاعتماد على cut وgrep فقط.🎥 لو محتاج شرح عملي لاستخدام
jq مع ملفات JSON، تقدر تراجع الفيديو ده:
⚡ ليه الطريقة دي مفيدة في الـ Recon؟
لما يكون عندك Scan صغير، ممكن تراجع النتائج يدويًا بسهولة.لكن مع عدد كبير من الدومينات، حجم الـ output ممكن يكبر بسرعة، وهنا أوامر بسيطة زي:
sort، uniq، grep وjqبتساعدك تعمل filtering سريع للنتائج وتحدد الأماكن اللي محتاجة مراجعة بشكل أكثر تنظيمًا.
📌 والأهم إن الأوامر دي بتتعامل مع النتائج الموجودة عندك بالفعل، يعني مش محتاج تعيد تشغيل الـ scan كل مرة لمجرد إنك عايز تستخرج نوع معين من النتائج.
🛠️ ملاحظة مهمة
شكل الأمر الأول بيعتمد على تنسيق ملف النتائج.الأمر:
Bash:
cat results.txt | cut -d" " -f1 | sort | uniq -c sort وuniq.وده مهم خصوصًا مع اختلاف طريقة إخراج النتائج بين النص العادي وJSON.
الأسئلة الشائعة
--------------هل أقدر أستخدم grep مع نتائج Nuclei؟
أيوه. لو النتائج محفوظة كنص عادي، تقدر تستخدمgrep للبحث عن كلمة أو نوع معين من النتائج، مثل graphql.هل jq أفضل من grep مع JSON؟
jq مناسب أكثر لما تكون البيانات بصيغة JSON، لأنه بيتعامل مع الحقول والقيم كبيانات منظمة، بينما grep مجرد بحث نصي.هل الأمر الأول مناسب لأي ملف Nuclei؟
مش بالضرورة. لازم يكون تنسيق الملف متوافق مع طريقة استخدامcut -d" " -f1. لو شكل الـ output مختلف، لازم تعدل الأمر حسب تنسيق النتائج.