불충분한 세션만료 취약점은 세션의 값이 계속해서 존재하는 것을 의미 합니다.
세션의 만료 기간을 정하지 않거나, 만료일자를 너무 길게 설정하여 해커에게 만료되지 않은 세션 활용이 가능하게 되어 각종 정보탈취 및 변조가 가능 합니다.
#방법1
세션을 활용한 로그인 방식이라면 어플리케이션 서버에서의 세션 유지시간 설정을 통해서 쉽게 가능 합니다.
어플리케이션 서버인 톰캣을 예로 들어보겠습니다.
* 샘플 대상 파일 : web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<!-- 생략.. -->
<session-config>
<session-timeout>30</session-timeout>
<!-- 생략.. -->
</session-config>
</web-app>
위 설정방법은 세션의 유지시간을 30분으로 설정한 샘플 입니다.
물론 어플리케이션 영역(Application Context)에서의 객체를 가져와 설정 할 수도 있습니다.
//import 생략..
public LoginController {
@RequestMapping(value = "/login")
public String loginMethod(HashMap<Object, Object> param, HttpSession session){
session.setMaxInactiveInterval(30); //30분으로 설정합니다.
return "loginPage";
}
}
이상으로 불충분한 세션만료(SC) 조치 방법에 대해서 간단하게 살펴보았습니다.
궁금한점 또는 틀린 부분은 언제든 연락주세요! 👻
반응형
'웹 취약점(Web vulnerability)' 카테고리의 다른 글
19. 자동화 공격(AU) (0) | 2021.12.09 |
---|---|
18. 세션고정(SF) (0) | 2021.12.08 |
16. 불충분한 인가(IN) (0) | 2021.12.07 |
15. 세션 예측(SE) (0) | 2021.12.07 |
14. 크로스 사이트 리퀘스트 변조(CSRF) (0) | 2021.12.06 |
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)
댓글