
- 스키마: 프로토콜
- host address : domain name or ip address
- port : 해당 호스트안에서 식별하는 어플리케이션
- Anchor : fragment > 해당 문서 내에서의 특정 위치
Origin > Schema + host address + port = 출처 = 기원
*포트 생략, 스키마와 호스트이름이 동일하면 동일 기원
*포트가 다르면 브라우저에 따라 처리, 포트를 생략해서 동일 기원으로 판단
*스키마가 일치하지 않으면 동일 기원 X
*호스트 주소가 달라 동일 기원 X
*포트번호가 달라 동일 기원 X
CSRF
- 서버는 요청 주체와 요청 절차를 확인하고 처리해야한다.
대응방안
- 기능에 재인증, 재인가
- 기능: 중요정보, 재화를 다루는
선행되어야 하는 페이지에 임의의 값을 생성하고 저장한 후, 일치하는 경우 비밀번호가 변경되도록
* 선행페이지에서 (텍스트 기반)토큰 부여하고 처리페이지에서 토큰
CAPTCHA, reCAPTCHA 활용
- 요청 처리 과정에서 사용자가 참여하도록 만듬 : 이유는 자동화 요청을 방지하기위해서
> 스크립트 코드 활성화 방지
bWAPP - CRSF
- 패스워드 변경 시 변경한 패스워드로 로그인이 가능하다면 CSRF취약점이 있다고 추측
- 자동으로 패스워드 변경 요청을 발생시키는 코드 작성 > iframe태그가 들어간 블로그 작성
> 다른 계정에서 블로그 접속한 경우 패스워드 변경 확인
*csrf_1.php 코드 확인