Junior
CSRF nədir?
sobes.tech Süni İntellekt
AI-dan cavab
CSRF (Cross-Site Request Forgery) — bu, hücum növüdür ki, hücumçu istifadəçini artıq doğrulanmış veb-saytda istənməyən əməliyyatları həyata keçirməyə məcbur edir.
Hücumun mahiyyəti odur ki, zərərli sayt və ya email istifadəçinin brauzerində avtomatik olaraq hədəf saytına göndərilən sorğu ehtiva edir. Əgər istifadəçi hədəf saytında daxil olubsa, onun brauzeri kukiləri göndərəcək və sorğu onun hüquqları ilə icra olunacaq.
Məsələn, bu, şifrəni dəyişdirmək, pul köçürmək və ya hesabı silmək üçün ola bilər.
CSRF-dən qorunmaq üçün müxtəlif metodlar istifadə olunur:
- CSRF tokenləri: hər sorğu üçün gizli və unikal tokenlər, serverdə yaradılır və hər forma və ya AJAX sorğusu ilə göndərilir. Server alınan tokenin uyğunluğunu yoxlayır.
- SameSite cookie atributu: cookie yalnız eyni domenə aid sorğular üçün göndərilir.
- Origin və Referer başlıqlarının yoxlanması: server sorğunun haradan gəldiyini yoxlayır. Lakin, bu başlıqlar hücumçu tərəfindən dəyişdirilə bilər və ya bəzi hallarda mövcud olmaya bilər.
- Kritik əməliyyatlar üçün yenidən doğrulama tələb etmək: vacib əməliyyatlar üçün şifrə tələb olunur.
Ən effektiv və geniş istifadə olunan metod CSRF tokenlərinin istifadəsidir.
// Forma daxilində CSRF tokeninin əlavə olunması nümunəsi
<form action="/transfer" method="POST">
<input type="hidden" name="_csrf_token" value="server tərəfindən yaradılan token">
<input type="number" name="amount">
<button type="submit">Transfer et</button>
</form>
// Serverdə CSRF tokeninin yoxlanması nümunəsi (Node.js və Express ilə)
app.post('/transfer', csrfProtection, (req, res) => {
// Uğurlu token yoxlamasından sonra sorğunun işlənməsi
});