
مُختبر للكشف عن ثغرات إعادة التوجيه المفتوحة
🏗️ التثبيت
⛏️ الاستخدام
📚 التبعيات

git clone https://github.com/devanshbatham/openredirex
cd openredirex
sudo chmod +x setup.sh
./setup.sh
يتم تنفيذ السكريبت من سطر الأوامر مع الخيارات التالية:
openredirex [-p payloads] [-k keyword] [-c concurrency]
-p, --payloads: ملف يحتوي على قائمة بالحمولات. إذا لم يتم تحديده، تُستخدم قائمة مُجمّدة مسبقًا.-k, --keyword: الكلمة المفتاحية في عناوين URL التي سيتم استبدالها بالحمولة. القيمة الافتراضية هي "FUZZ".-c, --concurrency: عدد المهام المتزامنة. القيمة الافتراضية هي 100.يتوقع السكريبت قائمة بعناوين URL كمدخل. يجب أن يحتوي كل عنوان URL على الكلمة المفتاحية المحددة بواسطة الخيار -k. يستبدل السكريبت الكلمة المفتاحية بكل حمولة من الحمولات، ويحاول جلب عنوان URL المعدّل.
مثال على الاستخدام:
cat list_of_urls.txt | openredirex -p payloads.txt -k "FUZZ" -c 50
يجب أن تكون قائمة عناوين URL بالشكل التالي:
cat list_of_urls.txt
https://newsroom.example.com/logout?redirect=FUZZ
https://auth.example.com/auth/realms/sonatype/protocol/openid-connect/logout?redirect_uri=test
https://exmaple.com/php?test=baz&foo=bar
يقرأ هذا المثال عناوين URL من الملف list_of_urls.txt، ويستبدل جميع قيم المعاملات بـ FUZZ (إذا لم يتم توفير --keyword)، ثم يستبدل الكلمة المفتاحية FUZZ أو الكلمة المفتاحية المقدمة بكل حمولة من payloads.txt، ويجلب كل عنوان URL بشكل متزامن، بحد أقصى 50 مهمة متزامنة.
يستخدم السكريبت المكتبات التالية:
argparse للتعامل مع وسائط سطر الأوامر.aiohttp لإجراء طلبات HTTP.tqdm لعرض التقدم.concurrent.futures للتعامل مع المهام المتزامنة.asyncio لإدارة المهام غير المتزامنة.تحتاج إلى تثبيت هذه التبعيات قبل تشغيل السكريبت. معظمها جزء من مكتبة بايثون القياسية. يمكنك تثبيت aiohttp و tqdm باستخدام pip:
pip install aiohttp tqdm
يمكنك استخدام هذا السكريبت للتحقق من وجود إعادة توجيه مفتوحة في تطبيقات الويب. ومع ذلك، يجب استخدامه فقط على الأنظمة التي حصلت على إذن صريح لاختبارها.