ماهي فائدة Arjun؟
أغلب الـ APIs أو المواقع تستعمل مجموعة من البارامترات (مثل id=1
, user=admin
, q=test
)، بعض هاي البارامترات تكون معلنة، وبعضها تبقى مخفية، بس ممكن تشتغل إذا جربتها يدوياً.
هنا تجي فائدة Arjun، تسوي عملية fuzzing للبارامترات على رابط معين وتعرفك شنو البارامترات اللي يقبلها السيرفر من غير ما تكون مكتوبة بوضوح، وبهالطريقة تقدر تكتشف بارامترات ممكن تستغلها بثغرات خطيرة.
طريقة التثبيت:
الخطوات:
- أول شي نثبت Python (إذا ما مثبت):
sudo apt install python3 python3-pip -y
- تثبيت Arjun:
git clone https://github.com/s0md3v/Arjun.git
cd Arjun
pip3 install -r requirements.txt
- تشغيل:
arjun -h
أو:
sudo apt install arjun -y

طريقة الأستخدام:
فحص رابط واحد:
إذا عندك رابط وتريد تعرف شنو البارامترات اللي ممكن يقبلها السيرفر:
arjun -u https://example.com/page
راح تبدي الأداة تجرب مئات البارامترات وتشوف شنو السيرفر يرد عليه بردود مختلفة
POST
:
فحص رابط يستخدم إذا الرابط يستخدم POST request بدال GET:
arjun -u https://example.com/page -m POST
فحص من ملف:
arjun -i urls.txt
تغيير الهيدر أو إضافة توكن:
ممكن بعض المواقع تحتاج Headers معينة، مثل Authorization أو Cookie، Arjun تدعمها بسهولة:
arjun -u https://target.com/api --headers "Authorization: Bearer <TOKEN>"
تحديد عدد الثريدات (Threads) لتسريع الفحص:
arjun -u https://target.com -t 30
كل ما زدت الثريدات، كل ما زادت السرعة… بس انتبه من الباند أو الضغط الزايد.
ماهي البارامترات اللي تفحصها؟
Arjun تحتوي أكثر من 1500 بارامتر معروف جاهز للفحص، مثل:
user
id
page
lang
search
redirect
- …
وإذا تحب تضيف بارامترات خاصة بيك، تكدر تعدل بالفايل:
wordlists/params.txt
مميزات Arjun:
- خفيفة وسريعة، لأن تشتغل بالـ async.
- تشتغل على GET وPOST.
- تقدر تضيف Headers و Cookies.
- تشتغل على روابط وحدة أو قوائم روابط.
- Open-source ومجانية.
مثال:
مثلاً عدنا endpoint بهالشكل:
https://example.com/profile
نشغّل Arjun:
arjun -u https://example.com/profile
بعد شوية، يكتشف:
Discovered parameter: user_id
Discovered parameter: token
تجي انت تحاول:
https://example.com/profile?user_id=1
وفجأة تشوف بيانات حساب شخص ثاني!, IDOR !
شلون نزيد كفاءة الفحص؟
- بدل ما تفحص كل الموقع، فحص فقط endpoints المهمة مثل
/api
,/admin
,/login
. - جرب ملفات wordlists مخصصة للـ APIs.
- عدل على قائمة البارامترات إذا عندك داتا خاصة.
روابط مفيدة:
- الريبو الرسمي:
https://github.com/s0md3v/Arjun - بدائل مشابهة:
- ffuf
- paramspider
- gau + kxss combo