Cross Site Request Forgery
→ 사이트간 요청 위조
→ 해커들이 피싱해서 사용자들이 링크 누르게 하고 그거 누르면 사용자들도 모르게 어떤 기능 실행됨(해커가 패스워드 변경하는거로 사용됨)
로그인시 어떤 정보 전송하는지 확인하기 위해 burp suite-> proxy -> http history에서 확인한다.
이메일 작성하여 링크 첨부하기
-> 클릭하면 해커가 변경한 password로 변경함
ID : admin
PW : hacker
→ 왼쪽이 정상, 오른쪽이 해커가 설정한 것
쿠키가 같으므로 같은 사용자로 인식
Referer, Origin : 요청이 어디서 시작했는지 알려주는 헤더
HTTP_REFERER 이용 → 해커가 만든 사이트 주소가 referer에서 준 주소와 같은지 비교하여 아니면 거른다.
Referer 헤더에 있는 localhost라는 웹서버 주소 때문에 해커가 비번 바꿀 수 있게 됨
어떤 경로에서 요청되었는지 비교하여 자기 서버 주소와 동일한지 확인하여 같지 않으면 CSRF 공격을 막음
웹페이지 값 변경될 때마다 token 값 변경됨
csrf token 값 계속 random으로 변하기 때문에 해커가 알아내기 쉽지않다. (token 값이 정상이면 허용해줌)
→ 공격하는 법 : XSS와 csrf token 이용하여 공격 성공
Dreamhack CSRF-1
Dreamhack CSRF-2