XSS (Cross-Site Scripting) hücumları və qarşısının alınması

XSS Hücumuna Giriş
Xss hücumu qurbanın brauzerində həyata keçiriləcək zərərli kod inyeksiyasıdır.Xss hücumlarında zərərli skript veb-serverdə saxlanılır və hər dəfə istifadəçi müvafiq funksiyanı çağırdıqda icra edilir.Belə desək hacker zərərli kodu müştəri tərəfi skriptinə yerləşdirir və istifadəçinin brauzeri saytın və ya proqramın etibarlı olduğunu güman edir. Fəaliyyəti bloklamaq əvəzinə brauzer skripti icra edərək ona brauzerin həmin saytla saxladığı və ya istifadə etdiyi hər hansı kukilərə, sessiya işarələrinə və ya digər həssas məlumatlara giriş imkanı verir.
Bu hücumun əsas məqsədi digər istifadəçinin şəxsi məlumatlarını (kukilər,sessiya nişanları və digər məlumatlar) oğurlamaqdır.Çox vaxt bu hücum digər şəxsin kukilərini oğurlamaq üçün istifadə olunur.Bildiyimiz kimi kukilər bizə avtomatik daxil olmağa kömək edir.Bu səbəbdən oğurlanmış kukilər ilə digər şəxsiyyətlərlə daxil ola bilərik.
XSS hücumu çox vaxt Javascript və HTML ilə həyata keçirilir. XSS hücumunu həyata keçirməyin əsas məqsədi başqa bir şəxsin şəxsiyyətini oğurlamaqdır.Qeyd edildiyi kimi, bu kukilər, sessiya nişanları və s. ola bilər.Ancaq sadəcə bu deyil hacker XSS-dən zərərli programları yaymaq, veb-saytları pozmaq, sosial şəbəkələrdə təxribat yaratmaq, etinadnamələr üçün fişlər yaratmaq və sosial mühəndislik üsulları ilə birlikdə daha çox zərərli hücumlar həyata keçirmək üçün istifadə edə bilərlər.XSS qurban üçün saxta səhifələri və ya formları göstərmək üçün istifadə edilə bilər.XSS hücumu bir neçə yolla həyata keçirilə bilər.

XSS hücumları necə işləyir?
XSS hücumları sorğunu qiymətləndirmədən əmrləri yerinə yetirən brauzerlərdən istifadə edir.Onlar qanuni və zərərli işarələmə metnini ayırd edə bilmədiklərinə görə, brauzer aldığı mətni icra edir, sonra onu tələb edən istifadəçiyə çatdırır.XSS hücumlarında hacker programa göndərilən məlumatın istiqamətini dəyişdirərək istifadəçini təqlid etməyə imkan verən zərərli kod daxil edirlər.
XSS hücumunun gedişi
Həm daimi həm də qeyri-daimi XSS hücumlarında aşaqdaki addımlar izlənilir:
• Hackerlər istifadəçilərin adətən HTML və ya JavaScript-dən ibarət məlumat daxil edə biləcəyi hədəf səhifəyə giriş əldə etməklə vebsayt və ya tətbiqi pozmaq üçün bir yol tapırlar.

• Hackerlər həmin veb səhifəyə zərərli kodu yeridirlər.

• Qurbanın brauzeri oğurlanmış vebsayta GET sorğusu göndərir

• Təhlükəli səhifənin cavabı zərərli skripti çatdırır

• Qurbanın brauzeri zərərli skripti icra edir.

• Qurbanın brauzeri növbəti dəfə GET sorğusu göndərəndə sorğu hackerin serverinə gedir.
• Hacker qurbanın brauzerdən göndərdiyi hər hansı həssas məlumatı toplayır.
XSS hücumunun 3 əsas növü var:

• Persistent or Stored XSS (Davamlı XSS və ya Tip I XSS)

• Reflected XSS (Qeyri-daimi və ya Tip II XSS)

• DOM Əsaslı XSS (Type-0)
Persistent (Stored-XSS və ya Tip I XSS)
Davamlı XSS, saytlararası scriptin növlərindən biridir.Davamlı XSS-də ilk olaraq zərərli scriptlər serverə daxil edilir.Hədef serverlər daxil edilmiş scripti daimi olaraq saxlayır.Qurbanın brauzeri serverə sorğu göndərəndə cavab ilə zərərli script qurbanın brauzerinə çatır.Sonra isə istifadəçinin brauzeri serverin cavabında olan zərərli scripti oxuyur.Nəticədə hacker qurbanın məlumatlarını əldə edir.
Hacker zərərli məzmunu verilənlər bazası, mesaj forumları, ziyarətçi qeydləri və şərh sahələrində saxlıya bilər. Təcavüzkarın yükü istifadəçinin brauzerində qanuni şərhin göründüyü kimi yoluxmuş səhifəni açdıqda istifadəçinin brauzerinə təqdim olunur. Məqsədli şəxslər öz brauzerlərində səhifəyə baxarkən təsadüfən zərərli skripti icra edirlər.
Reflected XSS (Qeyri-daimi və ya Tip II XSS)
Reflected XSS saytlararası script zəifliyinin ən çox yayılmış növüdür.Bu hücumda zərərli script serverdə daimi olaraq qalmır.Hacker ilk olaraq qurbanı veb serverə sorğu göndərməyə cəlb etmək üçün fişinq və digər sosial mühəndislik üsullarından istifadə edir.Qurban daha sonra brauzer daxilində əks olunan scripti icra edir.Qurbanın zərərli scripti icra etməsi nəticəsində hacker qurbanın həsas məlumatlarını əldə edir.
Yansıtılan XSS hücumları daimi deyil. İstifadəçi zərərli linkə kliklədikdə, xüsusi hazırlanmış formanı təqdim etmək üçün aldandıqda və ya zərərli saytı gəzmək üçün aldandıqda, yeridilmiş kod həssas vebsayta keçir. Veb server, öz növbəsində, yeridilmiş skripti istifadəçinin brauzerinə qaytarır və ya əks etdirir. Bu saxtakarlıq xəta mesajında, axtarış nəticəsində və ya sorğunun bir hissəsi kimi serverə göndərilən məlumatları ehtiva edən digər cavab növlərində baş verə bilər. Brauzer kodu yerinə yetirir, çünki cavabın istifadəçinin artıq qarşılıqlı əlaqədə olduğu “etibarlı” serverdən olduğunu güman edir.
DOM Əsaslı XSS (Type-0)
DOM Əsaslı XSS hücumları veb tətbiqinin client-side scripti istifadəçi tərəfindən təmin edilmiş məlumatları DOM-a yazdıqda mümkün olan qabaqcıl hücumlardır.Veb program DOM-dan məlumatları oxuyur və brauzerə çatdırır.Məlumatlar düzgün işləmirsə,hacker DOM-un bir hissəsi kimi saxlanacaq faydalı yük yeridir.Daha sonra məlumat DOM-dan oxunduqda faydalı yük yerinə yetirilir.

XSS hücumlarına qarşı necə müdafiə və qorunmaq olar?
Təhlükəsiz kodlaşdırmanın ən yaxşı təcrübələrinə riayət etmək saytlararası skriptin qarşısının alınması üçün əsasdır.
Bəzi ən yaxşı təcrübələrə aşağıdakılar daxildir:
• DevSecOps dan istifadə edərək proqram təminatının inkişaf dövrünə təhlükəsizliyin qurulması.

• Təhlükəsiz kod kitabxanalarının saxlanması.

• Çıxış kodlaşdırma kitabxanasından istifadə.

• JavaScript təhlükəsizlik siyasətlərini tətbiq etmək.

• .HTMl-ni təmizləmək.

• Məzmunun yüklənməsinin qarşısını alan icazə siyahıları yaratmaq üçün Avtomatlaşdırılmış Məzmun Təhlükəsizliyi Siyasətləri (CSP)

Saytlararası skript, girişlər etibarlı olmayan şəkildə işləndikdə veb saytlarda baş verir. Məsələn, bu, http://test.com/xss?xssparam= kimi bir URL daxilində dəyişən ola bilər. Xss?param dəyəri sayt üçün dinamik məzmun yaratmaq üçün istifadə edilə bilər və saytın çıxışında qaytarılır. Parametrin dəyəri üzərində heç bir doğrulama və ya kodlaşdırma aparılmazsa, təcavüzkar öz JavaScript-ni daxil etmək üçün parametri dəyişdirə bilər.

Mehran Hematyar (Hemmatyar)

Ph.D (c) Mikrotik Cisco Official Trainer CyberSecurity Activist AzTU - UNEC - BMU - BANM Senior Lecturer

Leave a Reply

Your email address will not be published. Required fields are marked *