คำถามติดแท็ก csrf-protection

2
CSRF Token จำเป็นเมื่อใช้ Stateless (= Sessionless) Authentication?
จำเป็นหรือไม่ที่จะต้องใช้การป้องกัน CSRF เมื่อแอปพลิเคชันต้องอาศัยการพิสูจน์ตัวตนแบบไร้สัญชาติ (โดยใช้บางอย่างเช่น HMAC) ตัวอย่าง: เรามีแอพหน้าเดียว (มิฉะนั้นเราต้องต่อท้ายโทเค็นในแต่ละลิงค์: <a href="...?token=xyz">...</a>. POST /authผู้ใช้จะตรวจสอบตัวเองใช้ ในการตรวจสอบสิทธิ์สำเร็จเซิร์ฟเวอร์จะส่งคืนโทเค็นบางส่วน โทเค็นจะถูกจัดเก็บผ่าน JavaScript ในตัวแปรบางตัวภายในแอพหน้าเดียว โทเค็นนี้จะใช้ในการ จำกัด การเข้าถึง URL /adminที่ชอบ โทเค็นจะถูกส่งภายใน HTTP Headers เสมอ ไม่มีเซสชัน Http และไม่มีคุกกี้ เท่าที่ฉันเข้าใจมี (?!) ไม่ควรใช้การโจมตีข้ามไซต์เนื่องจากเบราว์เซอร์จะไม่เก็บโทเค็นและด้วยเหตุนี้จึงไม่สามารถส่งไปยังเซิร์ฟเวอร์โดยอัตโนมัติได้ (นั่นคือสิ่งที่จะเกิดขึ้นเมื่อใช้คุกกี้ / เซสชั่น) ฉันพลาดอะไรไปรึเปล่า?

11
พบโทเค็น CSRF 'null' ที่ไม่ถูกต้องในพารามิเตอร์คำขอ '_csrf' หรือส่วนหัว 'X-CSRF-TOKEN'
หลังจากกำหนดค่า Spring Security 3.2 แล้ว_csrf.tokenจะไม่ถูกผูกไว้กับคำขอหรือวัตถุเซสชัน นี่คือการกำหนดค่าความปลอดภัยสปริง: <http pattern="/login.jsp" security="none"/> <http> <intercept-url pattern="/**" access="ROLE_USER"/> <form-login login-page="/login.jsp" authentication-failure-url="/login.jsp?error=1" default-target-url="/index.jsp"/> <logout/> <csrf /> </http> <authentication-manager> <authentication-provider> <user-service> <user name="test" password="test" authorities="ROLE_USER/> </user-service> </authentication-provider> </authentication-manager> ไฟล์ login.jsp <form name="f" action="${contextPath}/j_spring_security_check" method="post" > <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" /> <button id="ingresarButton" name="submit" type="submit" class="right" style="margin-right: 10px;">Ingresar</button> …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.