Almon Dev

모의해킹 공부 12주차 (CSRF) 본문

웹 해킹/웹 해킹

모의해킹 공부 12주차 (CSRF)

Almon 2025. 1. 11. 12:13

12주 차 정리

 

CSRF (Cross Site Request Forgery)

피해자가 자신의 의도와는 상관없이 공격자가 원하는 요청을 서버로 보내도록 만드는 공격입니다.

XSS 와의 차이점
- XSS는 스크립트를 삽입하여 피해자의 브라우저에서 실행합니다.
- CSRF는 사용자가 요청을 보내도록 만듭니다.

CSRF와 XSS 연계
CSRF는 XSS와 연계가 가능합니다.
- CSRF 취약점이 있는 경우 XSS를 통해 사용자의 클릭 없이 서버로 요청을 보낼 수 있습니다.

CSRF가 발생하는 곳
- 서버에게 요청을 보내는 곳 + 인증정보가 포함되지 않는 곳은 모두 CSRF가 가능합니다.
ex) 비밀번호 변경 시 기존 비밀번호 입력 or 이메일 인증
- 위험한 CSRF인지 판단하는 기준은 컨설턴트의 주관이 들어갑니다.
ex) 비밀변호 변경 요청, 게시글 작성 요청
- CSRF는 GET일 경우 링크로, POST일 경우 XSS를 통한 form 삽입과 함께 사용됩니다.


CSRF 대응법
- CSRF token을 통해 사용자의 요청 시 랜덤한 인증정보를 삽입합니다.
- token은 서버와 클라이언트에 모두 존재하며 일치해야 요청이 실행됩니다.
ex) 개인정보 변경을 할때 마이페이지를 통해서 개인정보 변경을 클릭하면 form태그에 csrf_token을 포함

CSRF Token 우회
- XSS를 통해 CSRF Token을 추출할 수 있습니다.
ex) iframe을 이용해 마이페이지에 접속후 토큰을 추출

 

과제

1. CSRF 문제 풀기
2. Write up 보고서 작성
3. 웹 개발 마무리