Cookies Hacking
Hacking cookies
Həssas məlumatları (sessionID, istifadəçi adı, e-poçtlar və s.) ehtiva edən bir növ fərdi kuki tapsanız, mütləq ondan istifadə etməyə çalışmalısınız.
Kukinin dekodlanması
Əgər kuki bəzi Base kodlaşdırmasından (məsələn, Base64) və ya oxşar kodlaşdırmadan istifadə edirsə, siz onu deşifrə edə, məzmunu dəyişdirə və ixtiyari istifadəçilərin şəxsiyyətinə keçə bilərsiniz.
Session Hijacking
Kuki oğurlayın və proqram daxilində istifadəçini təqlid etmək üçün ondan istifadə edin
Sessiya fiksasiyası
Təcavüzkar veb-səhifədən kuki alır və qurbana eyni kukidən istifadə edərək daxil olmaq üçün link göndərir. Əgər istifadəçi daxil olduqda kuki dəyişdirilməsə, bu faydalı ola bilər, çünki təcavüzkar kuki vasitəsilə istifadəçini təqlid edə bilər.
Session donation
Təcavüzkar qurbana öz seansını göndərir. Qurban artıq daxil olduğunu görəcək və hesabında olduğunu güman edəcək, lakin hərəkətlər təcavüzkarın hesabında həyata keçiriləcək.
JWT kukisi
Kukilərin yoxlanılması
Əsas yoxlamalar
Siz hər dəfə daxil olanda kuki eynidir.
Çıxın və eyni kukidən istifadə etməyə çalışın.
Eyni kukidən istifadə edərək eyni hesaba 2 cihaz (və ya brauzer) ilə daxil olmağa çalışın.
Kukidə hər hansı məlumatın olub olmadığını yoxlayın və onu dəyişdirməyə çalışın
Demək olar ki, eyni istifadəçi adı ilə bir neçə hesab yaratmağa çalışın və oxşarlıqları görə bildiyinizi yoxlayın.
Necə işlədiyini görmək üçün "məni yadda saxla" seçimini yoxlayın. Əgər o mövcuddursa və həssas ola bilərsə, həmişə məni xatırla kukisindən başqa kuki olmadan istifadə edin.
Şifrəni dəyişdikdən sonra da əvvəlki kuki-nin işlədiyini yoxlayın.
Qabaqcıl kuki hücumları
Siz daxil olduğunuz zaman kuki eyni (və ya demək olar ki) qalırsa, bu, ehtimal ki, kuki-nin hesabınızın hansısa sahəsi ilə (ehtimal ki, istifadəçi adı) əlaqəli olması deməkdir. Sonra edə bilərsiniz:
İstifadəçi adları çox oxşar olan bir çox hesab yaratmağa və alqoritmin necə işlədiyini təxmin etməyə çalışın.
İstifadəçi adını kobud şəkildə zorlamağa çalışın. Əgər kuki yalnız istifadəçi adınız üçün autentifikasiya üsulu kimi saxlanılırsa, o zaman siz "Bmin" istifadəçi adı ilə hesab yarada və kukinizin hər bir bitini bruteforce edə bilərsiniz, çünki sınaqdan keçirəcəyiniz kukilərdən biri "admin"ə aid olacaq.
Padding Oracle-ı sınayın (cookie məzmununu deşifrə edə bilərsiniz). Padbuster istifadə edin.
Padding Oracle - Padbuster nümunələri
Padbuster bir neçə cəhd edəcək və sizdən hansı şərtin xəta şərti olduğunu soruşacaq (müvafiq olmayan).
Sonra kukinin şifrəsini açmağa başlayacaq (bir neçə dəqiqə çəkə bilər)
Hücum uğurla həyata keçirilibsə, siz seçdiyiniz sətri şifrələməyə cəhd edə bilərsiniz. Məsələn, user=administratoru şifrələmək istəyirsinizsə
Bu icra sizə doğru şəkildə şifrələnmiş və daxilində user=administrator sətri ilə kodlanmış kuki verəcəkdir.
CBC-MAC
Ola bilsin ki, kuki müəyyən dəyərə malik ola bilər və CBC istifadə edərək imzalana bilər. Sonra, dəyərin bütövlüyü eyni dəyərlə CBC istifadə edərək yaradılan imzadır. IV null vektor kimi istifadə edilməsi tövsiyə olunduğundan, bu növ bütövlüyün yoxlanılması həssas ola bilər.
Hücum
administ = t istifadəçi adının imzasını alın
İstifadəçi adı imzasını əldə edin rator\x00\x00\x00 XOR t = t'
Kukidə administrator+t' dəyərini təyin edin (t' etibarlı imza olacaq (rator\x00\x00\x00 XOR t) XOR t = rator\x00\x00\x00
ECB
Kuki ECB istifadə edərək şifrələnirsə, həssas ola bilər.
Daxil olduğunuz zaman aldığınız kuki həmişə eyni olmalıdır.
Necə aşkar etmək və hücum etmək olar:
Demək olar ki, eyni dataya (istifadəçi adı, parol, e-poçt və s.) malik 2 istifadəçi yaradın və verilmiş kuki daxilində bəzi nümunələri tapmağa çalışın.
Məsələn, "aaaaaaaaaaaaaaaaaaaaaaa" adlı istifadəçi yaradın və kukidə hər hansı nümunənin olub olmadığını yoxlayın (ECB hər blokda eyni açarla şifrələdiyi üçün istifadəçi adı şifrələnərsə, eyni şifrələnmiş baytlar görünə bilər).
Bir nümunə olmalıdır (istifadə edilmiş blokun ölçüsü ilə). Beləliklə, bir dəstə "a"nın necə şifrələndiyini bilməklə bir istifadəçi adı yarada bilərsiniz: "a"*(blokun ölçüsü)+"admin". Daha sonra kukidən "a" blokunun şifrələnmiş nümunəsini silə bilərsiniz. Və siz "admin" istifadəçi adının kukisinə sahib olacaqsınız.
Kukilərin Atributları
Expires & Max-Age
Expires kukinin silinməsi üçün son istifadə tarixi təyin edir
Max-Age kukinin silinəcəyi vaxtı saniyələrlə təyin edir (bundan istifadə edin, artıq 2009-cu il deyil.
Domen
Domain atributu hansı hostların kuki qəbul edə biləcəyini müəyyən edir. Müəyyən edilmədikdə, subdomenlər istisna olmaqla, atribut kukini təyin edən eyni hosta verilir. Domen göstərilibsə, subdomenlər həmişə daxil edilir. Buna görə də, Domeni qeyd etmək onu buraxmaqdan daha az məhdudlaşdırıcıdır. Bununla belə, subdomenlərin istifadəçi haqqında məlumat paylaşması lazım olduqda faydalı ola bilər.
Məsələn, Domain=mozilla.org təyin etsəniz, kukilər developer.mozilla.org kimi subdomenlərdə mövcuddur. Bunu etməsəniz, kuki subdomenlərə göndərilməyəcək.
Path
Path atributu Kuki başlığını göndərmək üçün tələb olunan URL-də mövcud olmalı olan URL yolunu göstərir. %x2F ("/") simvolu kataloq ayırıcı hesab olunur və alt kataloqlar da uyğun gəlir.
SameSite
Bu, kukinin digər domenlərdən göndərilə biləcəyini brauzerə göstərəcək. Onun 3 mümkün dəyəri var:
Strict: Kuki üçüncü tərəfin vebsaytları tərəfindən sorğu ilə birlikdə göndərilməyəcək.
Lax: Kuki üçüncü tərəf saytları tərəfindən başlatılan GET sorğusu ilə birlikdə göndəriləcək.
None: Kuki hər hansı üçüncü tərəf domenindən göndərilir.
Cookies Bayraqları
HttpOnly
Bu, müştərinin kukiyə daxil olmasının qarşısını alır (məsələn, Javascript vasitəsilə: document.cookie)
Bypasses
Bu, TRACE HTTP sorğuları ilə keçə bilər, çünki serverdən gələn cavab (bu HTTP metodu mövcuddursa) göndərilən kukiləri əks etdirəcək. Bu texnika Cross-Site Tracking adlanır.
Müasir brauzerlər JS-dən TRACE sorğusunun göndərilməsinə icazə verməməklə bu texnikanın qarşısını alır. Bununla belə, IE6.0 SP2-yə TRACE əvəzinə \r\nTRACE göndərilməsi kimi xüsusi proqram təminatında buna bəzi yan keçidlər aşkar edilmişdir.
Başqa bir yol, brauzerlərin zero/day zəifliklərindən istifadə etməkdir.
Secure
Sorğu yalnız sorğunun təhlükəsiz kanal (adətən HTTPS) üzərindən ötürüldüyü halda HTTP sorğusunda kuki göndərəcək.
Last updated