✅Cross-Site Scripting
XSS Nedir?
Cross-Site Scripting (XSS), bir saldırganın, başka kullanıcıların tarayıcılarında kötü niyetli kod çalıştırmasına olanak tanıyan bir güvenlik açığı türüdür. Genellikle, saldırganın kötü niyetli JavaScript kodunu bir web sayfasına enjekte etmesiyle gerçekleşir. Bu kod, kullanıcının oturumunu ele geçirme, kullanıcı bilgilerini çalma veya kullanıcının tarayıcısında zararlı işlemler gerçekleştirme amacıyla kullanılabilir.
XSS Türleri
Stored XSS: Saldırganın zararlı kodu web uygulamasının veritabanına kaydedip saklaması ve bu kodun daha sonra kullanıcıya sunulmasıyla gerçekleşir. En kritik xss türüdür.
Reflected XSS: Saldırganın kullanıcıya özel bir link veya form aracılığıyla zararlı bir URL veya istek göndermesiyle gerçekleşir. Sunucu, bu veriyi işler ve sonuçları doğrudan kullanıcıya geri gönderir. Yüksek seviye bir zafiyettir.
DOM Based XSS: Saldırganın web sayfasının JavaScript tarafında doğrudan manipülasyon yapmasını içerir. Bu, tarayıcıda JavaScript tarafından oluşturulan ve manipüle edilen sayfaları hedefler. Yüksek seviye bir zafiyettir.
Self XSS: Kullanıcının kendisi tarafından tetiklenmesi gereken xss türüdür. Düşük seviye bir zafiyettir.
Yöntemler
Special Karakterleri Denemek
Special karakterleri girdilerde deneyerek filtrelenmediyse bunu görebiliriz.
Nothing Encoded
Tag Escape XSS
Attribute Escape XSS
HREF Attribute XSS
Javascript String içinde XSS
Jquery Selector
AngularJS Ng-App XSS
Escape Json XSS
Javascript Replace Function XSS
Body Tag XSS
Custom Tag XSS
SVG Tag XSS
Canonical Link XSS
Backtick String içinde XSS
AngularJS Sandbox Bypass
CSP Bypass
AngularJS Sandbox ve CSP Bypass
HREF ve Event Handler olmadan XSS
HTTP Paramater Pollution ile XSS
Aynı parametreyi aynı anda birden fazla göndermeyi deneyin. Filtreler bypass edilebilir.
Blocked Character XSS
Header ile CSP Bypass
Eğer çerezleri değiştirmeye izin veren bir parametre varsa aşağıdaki payload'u kullanabiliriz. Bu şekilde response'da CSP çalıştıran header silinir.
Markup Attack ile CSP Bypass
Steal Cookie XSS
Steal Credential XSS
Steal Page Content
XSS Listener
XSS ile CSRF Token Bypass
DOM XSS Web Message
DOM XSS HREF Web Message
DOM XSS JSON Parse
DOM XSS Cookie Manipülasyonu
Eğer xss çalıştırmak için bir cookie manipülasyonu yapmanız gerekiyorsa hedef ilk kez url'yi açtığında xss çalışmayacaktır. Aşağıdaki payload sayesinde hedefin url'yi iki kez ziyaret etmesini sağlıyoruz
HTML Janitor DOM XSS
Html-Janitor whitelist metodu ile xss engelleyen bir kütüphanedir. Bu kütüphane aşağıdaki payloadlar ile bypass edilebilir.
SVG XSS (File Upload)
Araçlar
BEEF-XSS
XSS zafiyetini sömürememizi sağlar.
XSS Hunter
Blind XSS zafiyetinin tespitini sağlar.
XSS Hunter: https://xsshunter.trufflesecurity.com/
Kaynaklar
Portswigger Academy: https://portswigger.net/web-security/cross-site-scripting
Last updated