FixVibe
Covered by FixVibehigh

CSRF goragy: Rugsat berilmedik döwlet üýtgeşmelerinden goramak

Sahypa haýyşlaryny ýasamak (CSRF) web programmalary üçin möhüm howp bolup galýar. Bu gözleg, Django ýaly döwrebap çarçuwalaryň goragy nähili amala aşyrýandygyny we SameSite ýaly brauzer derejesindäki atributlaryň rugsatsyz haýyşlardan goranyşy üpjün edýändigini öwrenýär.

CWE-352

Täsir

Saýtdan başga haýyş galplygy (CSRF) hüjümçä pidanyň brauzerini aldap, pidanyň häzirki wagtda tassyklanan başga bir web sahypasynda islenmeýän hereketleri etmäge mümkinçilik berýär. Brauzerler isleglerdäki gutapjyklar ýaly daş-töweregi şahsyýet maglumatlaryny awtomatiki usulda öz içine alýandygy sebäpli, hüjümçi ulanyjynyň habary bolmazdan parollary üýtgetmek, maglumatlary pozmak ýa-da amallary başlamak ýaly döwlet üýtgeýän amallary döredip biler.

Kök sebäp

CSRF-iň esasy sebäbi, web brauzeriniň haýsydyr bir domen bilen haýsydyr bir haýyş edilende, haýsydyr bir domen bilen baglanyşykly gutapjyklary ibermek, islegiň gelip çykyşyna garamazdan [S1]. Programmanyň öz ulanyjy interfeýsinden haýyşyň bilkastlaýyn ýüze çykandygyny anyk tassyklamazdan, serwer kanuny ulanyjy hereketi bilen galplaşdyrylan zady tapawutlandyryp bilmez.

Django CSRF goramagyň mehanizmleri

Django, [S2] orta programma üpjünçiligi we şablon integrasiýasy arkaly bu töwekgelçilikleri azaltmak üçin gurlan gorag ulgamyny üpjün edýär.

Orta programma üpjünçiligini işjeňleşdirmek

django.middleware.csrf.CsrfViewMiddleware CSRF goragy üçin jogapkär we adatça [S2] bilen işledilýär. CSRF hüjümleriniň eýýäm [S2] ulanylandygyny çaklaýan orta programma üpjünçiliginiň öňünde ýerleşmeli.

Şablony durmuşa geçirmek

Islendik içerki POST formalary üçin döredijiler <form> elementi {% csrf_token %} belligini [S2] girizmeli. Bu, serweriň ulanyjynyň sessiýasyna garşy tassyklaýan haýyşyna özboluşly, gizlin belligiň goşulmagyny üpjün edýär.

Tokeniň syzmak töwekgelçiligi

Durmuşa geçirmegiň möhüm jikme-jigi, {% csrf_token %} hiç wagt daşarky URL-leri nyşana alýan görnüşlere goşulmaly däldir, [S2]. Şeýle etmek, ulanyjynyň sessiýa howpsuzlygyna [S2] howp salýan gizlin CSRF nyşanyny üçünji tarapa syzdyrar.

Brauzer derejeli gorag: SameSite gutapjyklary

Häzirki zaman brauzerleri, [S1] gorag gatlagyny üpjün etmek üçin Set-Cookie sözbaşy üçin SameSite atributyny hödürledi.

  • Gaty: Gutapjyk diňe birinji tarap kontekstinde iberilýär, ýagny URL setirindäki sahypa gutapjyk [S1] domenine gabat gelýär.

.

FixVibe munuň üçin nädip synag edýär

FixVibe indi derwezeli işjeň barlag hökmünde CSRF goragyny öz içine alýar. Domen barlagyndan soň, active.csrf-protection ýüze çykarylan döwlet üýtgeýän formalary barlaýar, CSRF-belgili girişleri we SameSite gutapjyk signallaryny barlaýar, soňra pes täsirli galp resminama ibermäge synanyşýar we diňe serwer kabul edeninde hasabat berýär. Gutapjyk barlaglary, CSRF goranyşyny çuňlaşdyrýan gowşak SameSite häsiýetlerini hem görkezýär.