CSRF (Cross-site request forgery) : 웹 애플리케이션 취약점 중 하나로 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 하여 특정 웹페이지를 보안에 취약하게 한다거나 수정, 삭제 등의 작업을 하게 만드는 공격방법을 의미한다. 유명 경매 사이트 옥션의 개인정보 유출 사건에 사용된 공격 방식이다.
XSS 공격 (사이트 간 스크립팅) 공격은 사용자가 웹사이트를 신용하여 악성 스크립트가 실행된다면, CSRF 공격은 반대로 특정 웹사이트가 사용자의 브라우저를 신용하여 발생하는 공격이다. 간단히 말해서, XSS 공격은 악성 코드가 클라이언트에서 발생하는데 반에, CSRF 공격은 악성 코드가 서버에서 발생한다고 볼 수 있다.
1 ) 공격자는 이메일이나 게시판에 CSRF 스크립트가 포함된 게시물을 전송
2 ) 관리자는 공격자가 등록한 CSRF 스크립트가 포함된 게시물을 확인
3 ) 관리자가 CSRF 스크립트가 포함된 게시물을 열람하면, 관리자의 권한으로 공격자가 원하는 CSRF 스크립트 요청이 발생
4 ) 공격자가 원하는 CSRF 스크립트가 실행되어, 관리자 및 사용자의 피해가 발생
Referer 체크
GET / POST 요청 구분
Token 사용
추가 인증 수단 사용 ( ex. CAPCHA )
참고자료
[Web] CSRF(Cross Site Request Forgery) 공격 기법
[보안] CSRF(Cross Site Request Forgery)란 무엇인가?