Ta'sir
Saytlararo so‘rovlarni qalbakilashtirish (CSRF) tajovuzkorga jabrlanuvchining brauzerini aldab, jabrlanuvchi hozirda autentifikatsiya qilingan boshqa veb-saytda istalmagan harakatlarni amalga oshirishga imkon beradi. Brauzerlar avtomatik ravishda so'rovlarga cookie fayllari kabi atrof-muhit hisob ma'lumotlarini o'z ichiga olganligi sababli, tajovuzkor foydalanuvchi bilmagan holda parollarni o'zgartirish, ma'lumotlarni o'chirish yoki tranzaktsiyalarni boshlash kabi holatni o'zgartirish operatsiyalarini soxtalashtirishi mumkin.
Asosiy sabab
CSRF ning asosiy sababi veb-brauzerning sukut bo'yicha xatti-harakatidir. [S1]. Ilovaning o'z foydalanuvchi interfeysidan so'rov qasddan ishga tushirilganligini aniq tasdiqlamasdan, server qonuniy foydalanuvchi harakati va soxta harakat o'rtasidagi farqni ajrata olmaydi.
Django CSRF himoya mexanizmlari
Django [S2] o'rta dastur va shablon integratsiyasi orqali ushbu xavflarni kamaytirish uchun o'rnatilgan mudofaa tizimini taqdim etadi.
O'rta dasturni faollashtirish
django.middleware.csrf.CsrfViewMiddleware CSRF himoyasi uchun javob beradi va odatda sukut bo'yicha [S2] yoqiladi. U [S2] CSRF hujumlari allaqachon qayta ishlangan deb hisoblaydigan har qanday ko'rish oraliq dasturidan oldin joylashtirilishi kerak.
Shablonni amalga oshirish
Har qanday ichki POST shakllari uchun ishlab chiquvchilar {% csrf_token %} tegini <form> elementi [S2] ichiga kiritishlari kerak. Bu so'rovga noyob, maxfiy token qo'shilishini ta'minlaydi, so'ngra server uni foydalanuvchi sessiyasiga nisbatan tasdiqlaydi.
Tokenning chiqib ketish xavfi
Amalga oshirishning muhim tafsiloti shundaki, {% csrf_token %} hech qachon [S2] tashqi URL manzillariga mo'ljallangan shakllarga kiritilmasligi kerak. Bunday qilish maxfiy CSRF tokenini uchinchi tomonga o‘tkazib yuborishi mumkin, bu esa foydalanuvchining [S2] seans xavfsizligini xavf ostiga qo‘yishi mumkin.
Brauzer darajasidagi himoya: SameSite cookie fayllari
Zamonaviy brauzerlar SameSite atributini Set-Cookie sarlavhasi uchun chuqurroq himoyalangan [S1] qatlamini taqdim etdi.
- Qattiq: Cookie faqat birinchi tomon kontekstida yuboriladi, ya'ni URL satridagi sayt cookie faylining [S1] domeniga mos keladi.
- Lax: Cookie saytlararo quyi so'rovlar (masalan, tasvirlar yoki ramkalar) bo'yicha yuborilmaydi, lekin foydalanuvchi [S1] standart havolasiga rioya qilish kabi manba saytiga o'tganda yuboriladi.
FixVibe buni qanday sinovdan o'tkazadi
FixVibe endi CSRF himoyasini yopiq faol tekshiruv sifatida o'z ichiga oladi. Domenni tekshirgandan so‘ng, active.csrf-protection aniqlangan holatni o‘zgartiruvchi shakllarni tekshiradi, CSRF token shaklidagi kirishlar va SameSite cookie signallarini tekshiradi, so‘ngra past ta’sirli soxta kelib chiqishini taqdim etishga urinib ko‘radi va faqat server uni qabul qilganda hisobot beradi. Cookie tekshiruvlari, shuningdek, CSRF himoyasini chuqurroq kamaytiradigan zaif SameSite atributlarini belgilaydi.
