GET Admin 3
DATE : 2024/1/21
Last updated
DATE : 2024/1/21
Last updated
CSRF Token에서 살펴본 바로는 CSRF 공격을 막기 위해 인증 목적의 공격자가 모르는 값을
요청에 포함 시킨다고 했는데 사실 CSRF Token 또한 공격자에게 탈취 당할 수 있다.
이번 CTF에서는 마이페이지에 접속할 때마다 새로운 CSRF TOKEN을 만들어 사용자에게 보내주지만
공격자가 이를 탈취해 비밀번호를 수정하는 요청을 보내도록 CSRF 공격을 수행할 것이다.
따라서 JS로 Token에 접근하기 위한 경로를 파악할 필요가 있다.
이때 게시물 페이지로 이동한 이유는 XSS 취약점이 있는 포인트를 찾기 위함으로
앞서 GET method로 요청을 변환해 서버로 보냈지만 응답이 오지 않았기 때문에
우리는 POST method로 CSRF 공격을 수행해야 하는 상황이고
POST method로 CSRF 공격을 한다는 건, form tag를 활용한 스크립트를 작성해야 한다는 뜻이다.
게시물 제목에도 XSS 취약점이 존재하지만 CSRF 공격을 수행하기 위해 작성할 스크립트의 길이를
고려했을 때, 본문에 작성하는 게 보기 편할 것이다.
공격자가 삽입한 임의의 스크립트가 실행된 결과를 확인함으로써 우리는
CSRF 공격을 위해 Stored XSS를 수행할 수 있다는 사실을 파악할 수 있다.