로그인된 유저에게 공격자가 원하는 요청을 유도하는 공격 기법
로그인 유저가 admin과 같은 권한을 가지면 큰 피해를 입을 수 있음.
어떤 방식으로 특정 유저에게 요청을 유도할까?
모든 요청 유도는 서비스의 구현 취약점을 찾은 후 취약점을 기반한 위조 트랩을 만드는 방식임.
https://www.abcdefg.com/delete/1 경로가 1번 게시글을 지우는 URI며, 이 경로는 admin에게만 인가 권한이 주어진다고 가정하자.
BUT, GET 요청 URI 행위 취약점을 통해 해커가 admin에게 저 경로를 실행하게 할 수 있다.
GET 요청 URI일 때 CRUD 중 상태를 변경하는 요청(Read를 제외한 CUD)에 대한 행위가 들어가면 안 된다.
2008년 옥션이 당했던 방식. 옥션 계정 비밀번호를 변경하는 로직이 URI 쿼리 파라미터 기반이었고, 해커가 <img src>에 비밀번호 변경 URI를 심어 admin 계정에 이메일을 보냄으로써 공격에 성공했다.
상태를 변경하는 요청(CUD)을 POST Form 방식으로 처리하면 안전할까?
ㄴㄴ POST Form 요청도 CSRF 공격으로부터 안전하지 않음.