FixVibe
Covered by FixVibehigh

CSRF שוץ: דיפענדינג קעגן אַנאָטערייזד שטאַט ענדערונגען

Cross-Site Request Forgery (CSRF) בלייבט אַ באַטייטיק סאַקאָנע פֿאַר וועב אַפּלאַקיישאַנז. דער פאָרשונג יקספּלאָרז ווי מאָדערן פראַמעוואָרקס ווי Django ינסטרומענט שוץ און ווי בלעטערער-מדרגה אַטריביוץ ווי SameSite צושטעלן פאַרטיידיקונג-אין-טיפקייַט קעגן אַנאָטערייזד ריקוועס.

CWE-352

אימפאקט

Cross-Site Request Forgery (CSRF) אַלאַוז אַן אַטאַקער צו נאַרן דעם בלעטערער פון אַ קאָרבן צו דורכפירן אַנוואָנטיד אַקשאַנז אויף אַ אַנדערש וועבזייטל ווו די קאָרבן איז איצט אָטענטאַקייטאַד. ווייַל בראַוזערז אויטאָמאַטיש אַרייַננעמען אַמביאַנט קראַדענטשאַלז ווי קיכלעך אין ריקוועס, אַ אַטאַקער קענען פאָרגע שטאַט-טשאַנגינג אַפּעריישאַנז - אַזאַ ווי טשאַנגינג פּאַסווערדז, ויסמעקן דאַטן, אָדער ינישיייטינג טראַנזאַקשאַנז - אָן דער באַניצער ס וויסן.

וואָרצל גרונט

די פונדאַמענטאַל סיבה פון CSRF איז די פעליקייַט נאַטור פון די וועב בלעטערער צו שיקן קיכלעך פֿאַרבונדן מיט אַ פעלד ווען אַ בקשה איז געמאכט צו דעם פעלד, ראַגאַרדלאַס פון די אָנהייב פון די בעטן [S1]. אָן ספּעציפיש וואַלאַדיישאַן אַז אַ בקשה איז בעקיוון טריגערד פון די אַפּלאַקיישאַן ס אייגן באַניצער צובינד, דער סערווער קען נישט ויסטיילן צווישן אַ לאַדזשיטאַמאַט באַניצער קאַמף און אַ פאָרדזשד איינער.

Django CSRF פּראַטעקשאַן מעקאַניזאַמז

Django גיט אַ געבויט-אין פאַרטיידיקונג סיסטעם צו פאַרמינערן די ריסקס דורך מידאַלוואַרע און מוסטער ינאַגריישאַן [S2].

מיטלוואַרע אַקטיוואַטיאָן

די django.middleware.csrf.CsrfViewMiddleware איז פאַראַנטוואָרטלעך פֿאַר CSRF שוץ און איז טיפּיקלי ענייבאַלד דורך פעליקייַט [S2]. עס מוזן זיין פּאַזישאַנד איידער קיין מיינונג מידדוואַרע אַז אַסומז אַז CSRF אנפאלן האָבן שוין כאַנדאַלד [S2].

מוסטער ימפּלעמענטאַטיאָן

פֿאַר קיין ינערלעך POST פארמען, דעוועלאָפּערס מוזן אַרייַננעמען די {% csrf_token %} קוויטל אין די <form> עלעמענט [S2]. דאָס ינשורז אַז אַ יינציק, סוד סימען איז ינקלודעד אין די בעטן, וואָס דער סערווער דעמאָלט וואַלאַדייץ קעגן די באַניצער 'ס סעסיע.

טאָקען ליקאַדזש ריסקס

א קריטיש ימפּלאַמענטיישאַן דעטאַל איז אַז די {% csrf_token %} זאָל קיינמאָל זיין אַרייַנגערעכנט אין פארמען טאַרגאַטינג פונדרויסנדיק URL ס [S2]. טאן אַזוי וואָלט רינען די סוד CSRF סימען צו אַ דריט פּאַרטיי, פּאַטענטשאַלי קאַמפּראַמייזינג די באַניצער 'ס סעסיע זיכערהייט [S2].

בראַוזער-מדרגה פאַרטיידיקונג: סאַמעסיטע קאָאָקיעס

מאָדערן בראַוזערז האָבן באַקענענ די SameSite אַטריביוט פֿאַר די Set-Cookie כעדער צו צושטעלן אַ שיכטע פון פאַרטיידיקונג-אין-טיפקייַט [S1].

  • שטרענג: די קיכל איז בלויז געשיקט אין אַ ערשטער-פּאַרטיי קאָנטעקסט, טייַטש די פּלאַץ אין די URL באַר שוועבעלעך די קיכל 'ס פעלד [S1].
  • לאַקס: די קיכל איז נישט געשיקט אויף קרייַז-פּלאַץ סובריקוועס (אַזאַ ווי בילדער אָדער ראָמען) אָבער איז געשיקט ווען אַ באַניצער נאַוואַגייץ צו די אָנהייב פּלאַץ, אַזאַ ווי דורך נאָכפאָלגן אַ נאָרמאַל לינק [S1].

ווי FixVibe טעסץ פֿאַר עס

FixVibe איצט ינקלודז CSRF שוץ ווי אַ גייטיד אַקטיוו טשעק. נאָך פעלד וועראַפאַקיישאַן, active.csrf-protection ינספּעקץ דיסקאַווערד שטאַט-טשאַנגינג פארמען, טשעקס פֿאַר CSRF-סימען-שייפּט ינפּוץ און SameSite קיכל סיגנאַלז, און פרוווט אַ נידעריק-פּראַל פאָרדזשד אָריגין סאַבמישאַן און בלויז ריפּאָרץ ווען דער סערווער אַקסעפּץ עס. קוקי טשעקס אויך פלאַג שוואַך SameSite אַטריביוץ וואָס רעדוצירן CSRF פאַרטיידיקונג-אין-טיפקייַט.