FixVibe
Covered by FixVibehigh

Saytlararası Skriptin (XSS) Zəifliklərinin Aşkarlanması və Qarşısının Alınması

Saytlararası Skriptləmə (XSS) proqram düzgün təsdiqlənmədən və ya kodlaşdırmadan veb-səhifəyə etibarsız məlumatları daxil etdikdə baş verir. Bu, təcavüzkarlara qurbanın brauzerində zərərli skriptlər icra etməyə imkan verir ki, bu da sessiyanın qaçırılmasına, icazəsiz hərəkətlərə və həssas məlumatların ifşasına gətirib çıxarır.

CWE-79

Təsir

Saytlararası Skriptləmə (XSS) zəifliyindən uğurla istifadə edən təcavüzkar qurban istifadəçisi kimi görünə, istifadəçinin yerinə yetirməyə icazə verdiyi istənilən hərəkəti həyata keçirə və istifadəçinin [S1] hər hansı məlumatına daxil ola bilər. Buraya hesabları oğurlamaq üçün sessiya kukilərini oğurlamaq, saxta formalar vasitəsilə giriş etimadnaməsini ələ keçirmək və ya [S1][S2] virtual pozulmasını həyata keçirmək daxildir. Qurbanın inzibati imtiyazları varsa, təcavüzkar proqram və onun [S1] məlumatlarına tam nəzarət edə bilər.

Kök Səbəb

XSS, proqram istifadəçi tərəfindən idarə olunan daxiletmə qəbul etdikdə və [S2]-ni lazımi zərərsizləşdirmədən və ya kodlaşdırmadan veb-səhifəyə daxil etdikdə baş verir. Bu, vebsaytları bir-birindən təcrid etmək üçün hazırlanmış Eyni Mənşə Siyasətindən yan keçərək, qurbanın brauzeri tərəfindən daxil edilmiş məlumatın aktiv məzmun (JavaScript) kimi şərh edilməsinə imkan verir [S1][S2].

Zəiflik növləri

  • Yks olunan XSS: Zərərli skriptlər adətən [S1] URL parametri vasitəsilə veb proqramdan qurbanın brauzerinə əks olunur.
  • Saxlanılan XSS: Skript daimi olaraq serverdə saxlanılır (məsələn, verilənlər bazası və ya şərh bölməsində) və daha sonra [S1][S2] istifadəçilərinə təqdim edilir.
  • DOM-əsaslı XSS: Zəiflik tamamilə etibarsız mənbədən məlumatları innerHTML [S1]-yə yazmaq kimi təhlükəli üsulla emal edən müştəri kodunda mövcuddur.

Beton Təmirləri

  • Çıxışda verilənlərin kodlaşdırılması: İstifadəçi tərəfindən idarə olunan məlumatları göstərməzdən əvvəl təhlükəsiz formaya çevirin. HTML gövdəsi üçün HTML obyekt kodlaşdırmasından və həmin xüsusi kontekstlər üçün müvafiq JavaScript və ya CSS kodlaşdırmasından istifadə edin [S1][S2].
  • Gəliş zamanı Daxiletməni filtrləyin: Gözlənilən daxiletmə formatları üçün ciddi icazə siyahılarını tətbiq edin və [S1][S2] ilə uyğun gəlməyən hər şeyi rədd edin.
  • Təhlükəsizlik Başlıqlarından istifadə edin: JavaScript [S2] vasitəsilə girişin qarşısını almaq üçün sessiya kukilərində HttpOnly bayrağını təyin edin. Brauzerlərin cavabları icra edilə bilən kod [S1] kimi təfsir etməməsi üçün Content-TypeX-Content-Type-Options: nosniff istifadə edin.
  • Məzmun Təhlükəsizliyi Siyasəti (CSP): Skriptlərin yüklənə və icra oluna biləcəyi mənbələri məhdudlaşdırmaq üçün güclü CSP yerləşdirin, CSPCVC0ZXFIXVXVCVCVC0ZXFIXVCVCV.

FixVibe bunu necə sınaqdan keçirir

FixVibe XSS-ni [S1] müəyyən edilmiş skan etmə metodologiyalarına əsaslanan çoxqatlı yanaşma vasitəsilə aşkar edə bilər:

  • Pasif Skanlar: XSS ZXCVFIXVIBETOKEN2ZXV-ni azaltmaq üçün nəzərdə tutulmuş Content-Security-Policy və ya X-Content-Type-Options kimi çatışmayan və ya zəif təhlükəsizlik başlıqlarının müəyyən edilməsi.
  • Aktiv Zondlar: [S1] düzgün kodlaşdırmadan onların cavab orqanında əks olunub-olunmadığını müəyyən etmək üçün URL parametrlərinə və forma sahələrinə unikal, zərərli olmayan alfasayısal sətirlərin yeridilməsi.
  • Repo Skanları: ZVIXBETOKEN0VCVC-ə əsaslanan ümumi göstəricilər olan innerHTML, document.write və ya setTimeout kimi etibarsız məlumatları etibarlı şəkildə idarə edən "bağlayıcılar" üçün müştəri tərəfi JavaScript-in təhlili [S1].