XSS hücumları: Cross-Site Scripting nə deməkdir?

XSS (Cross-Site Scripting) - hacker saytınıza zərərli JavaScript yerləşdirir, ziyarətçi səhifəni açanda script onun brauzerində icra olunur. Cookie oğurluğu, session hijacking və phishing üçün istifadə olunur.

XSS növləri

Stored XSS

Hacker komment formasına və ya profile-də <script>alert(XSS)</script> yerləşdirir. DB-də saxlanılır - səhifəni açan hər kəs üçün script icra olunur.

Reflected XSS

URL parametrində script: ?search=<script>...</script>. Sayt onu echo edirsə, link açan ziyarətçidə script işləyir.

DOM-based XSS

JavaScript URL hash-ı oxuyur və DOM-a inject edir - server-side rendering olmadan da işləyir.

XSS niyə təhlükəlidir?

Cookie oğurluğu

document.cookie ilə brauzerdəki bütün cookie-lər oxunur və hacker server-inə göndərilir. Admin session-u oğurlana bilər.

Keylogger

JS ilə bütün klaviatura basışları qeyd edilə bilər - şifrələr, kart məlumatları.

Phishing

Saytın görünüşü dəyişdirilərək fake login formu göstərilə bilər.

XSS qoruması necə edilir?

1. Output escape

Bütün istifadəçi input-u HTML olaraq render etmədən əvvəl escape edin:

echo htmlspecialchars($user_input, ENT_QUOTES, "UTF-8");

2. Content Security Policy (CSP)

HTTP header ilə hansı JS-in işləyə biləcəyini məhdudlaşdırın:

Content-Security-Policy: default-src self; script-src self https://cdn.example.com

Inline JS və xarici JS yalnız whitelisted domain-lərdən.

3. HttpOnly cookie flag

Sessiya cookie-sini HttpOnly flag-ı ilə təyin edin - JavaScript onu oxuya bilməz, yalnız HTTP request-də göndərilir.

4. Input validation

Yalnız gözlənilən format qəbul edin - email field-ə yalnız email regex-i, name-ə yalnız hərflər.

WordPress-də XSS qoruması

Built-in funksiyalar

  • esc_html() - HTML escape
  • esc_attr() - HTML attribute escape
  • esc_url() - URL escape
  • esc_js() - JavaScript context escape

React, Vue, Angular avtomatik qoruyur

Modern frontend framework-lər default olaraq XSS escape edir. Lakin dangerouslySetInnerHTML kimi escape edilməyən API-lərə diqqət edin.

X-XSS-Protection header

Köhnə brauzerlər üçün:

Header always set X-XSS-Protection "1; mode=block"

Modern brauzerlər CSP-yə üstünlük verir.

XSS test alətləri

  • OWASP ZAP - pulsuz pen-test platforması
  • Burp Suite - pro pen-test platforması
  • XSStrike - command-line XSS skaner

WAF XSS qoruması

Hostinq.az ModSecurity OWASP Core Rule Set ilə yüksək təhlükəli XSS payload-larını bloklayır. Cloudflare WAF əlavə qatdır.

Hostinq.az hosting - server-side XSS qoruması hazır.

Paylaş: