2011-07-04 6 views
5

preventing CSRF에 대해 꽤 많이 쓰여 있습니다.csrf 보호

그러나 나는 단지 그것을 얻지 못한다 : 왜 나는 목표 페이지 양식에서 csrf 토큰을 구문 분석하고 내 위조 요청과 함께 제출할 수 없습니까?

답변

0

CSRF 토큰의 값을 미리 알 수 없기 때문에.

1

스크립트 코드를 대상 페이지 (XSS)에 삽입 할 수 있으면 그 코드를 사용하여 CSRF 방지를 쓸모 없게 만들 수 있습니다.

CSRF 토큰은 최종 사용자가받는 페이지에 저장해야합니다 (또는 그가 알지도 못합니다).

실제로 보안 평가에서 XSS는 일반적으로 자체 손상 가능성이 아니라 그러한 공격에 사용하기 위해 평가합니다.

0

CSRF 토큰은 모든 사용자와 매 요청마다 완전히 다른 토큰이어야하므로 공격자로부터 추측 할 수 없습니다.

php의 경우 .net과 javascript는 OWASP CSRFGuard Project에 있습니다. java 및 jsf 2.x에서 이미 CSRF에 대해 저장하고 있다면 (POST를 사용하고 GET하지 않는 한 - 당신은 JSF 2.2를 기다리는 경우) JSF없이 작업하면 OWASP ESAPI의 HTTPUtillities Interface도 매우 유용 할 수 있습니다!

1

CSRF 공격은 장님입니다. 그들은 세션 라이딩을하고 공격자는 XSS 취약점을 통해 토큰을 추출 할 수 없다면 직접 제어 할 수 없습니다. 일반적으로 세션 과이드 토큰을 사용할 수 있습니다. 요청 당 회전 토큰은 잔인하며 잘못된 경보를 유발할 수 있습니다. 마스터 세션 토큰을 사용하여 리소스 당 토큰을 사용하는 것을 선호합니다.