반응형
CSRF (Cross-Site Request Forgery)
크로스사이트 요청위조
- 특정 웹사이트에 대해서 사용자가 인지하지 못한 상황에서 사용자의 의도와는 무관하게 공격자가 의도한 행위를 요청하게 하는 공격
보안대책
- 입력폼 작성시 GET방식보다는 POST방식을 사용
- 입력처리 프로그램 사이에서 토큰 사용
- 사용자 세선검즘 재인증 유도
// 입력화면이 요청되었을 때, 임의의 토큰을 생성한 후 세션에 저장한다.
session.setAttribute(“SESSION_CSRF_TOKEN”, UUID.randomUUID().toString());
// 입력화면에 임의의 토큰을 HIDDEN 필드항목의 값으로 설정해 서버로 전달되도록 한다.
<input type=”hidden” name=”param_csrf_token” value=”${SESSION_CSRF_TOKEN}”/>
// 요청 파라미터와 세션에 저장된 토큰을 비교해서 일치하는 경우에만 요청을 처리한다.
String pToken = request.getParameter(“param_csrf_token”);
String sToken = (String)session.getAttribute(“SESSION_CSRF_TOKEN”);
if (pToken != null && pToken.equals(sToken) {
// 일치하는 토큰이 존재하는 경우 -> 정상 처리
......
} else {
// 토큰이 없거나 값이 일치하지 않는 경우 -> 오류 메시지 출력
......
}
반응형
'License' 카테고리의 다른 글
이메일 포토콜 (0) | 2021.03.23 |
---|---|
Xferlog (0) | 2021.03.23 |
침입탐지(IDS) vs 침입차단(IPS) (0) | 2021.03.22 |
TLS(Trasport Layer Security) (0) | 2021.03.22 |
블록암호 공격 블록암호 모드 (0) | 2021.03.22 |