세 가지 취약점은 세션의 보안 조치가 취약하게 설정되어 발생하며, 공격자는 개인정보 탈취, 사용자 ID 도용, 사용자 ID를 활용한 2차 공격(DoS 등)을 할 수 있다.
세션 예측
: 각기 다른 IP주소, 사용자명, 시간적 차이로 세션 ID를 발급 받았을 때 일정한 패턴(연속된 숫자 할당 등)이 발견되는 취약점
공격자는 세션ID를 추측해서 불법적인 접근 시도가 가능하다. 본인의 세션을 여러 번 생성하여 확인하는 것만으로 보안 취약점을 확인할 수 있다.
[보안 방법]
- 단순 조합보다는 상용 웹 서버나 웹 애플리케이션 플랫폼에서 제공하는 세션 ID를 사용하고, 가능하다면 맞춤형 세션 관리 체계를 권고
- 세션 ID는 로그인 시마다 추측할 수 없는 새로운 세션 ID로 발급하여야 함
불충분한 세션 만료
: 세션 종료 시간이 설정되어 있지 않거나 불필요하게 긴 경우 발생할 수 있는 취약점
웹 사이트에 로그인 후 일정 시간 움직임이 없으면 자동으로 로그아웃되어 세선 정보가 만료되도록 설정해야 한다. 만약 세선이 만료되지 않거나 만료 시간을 너무 길게 설정하면, 공격자는 이를 이용하여 불법적인 접근을 하거나 개인정보 탈취와 같은 악의적인 행위를 시도할 수 있다.
[보안 방법]
- 세션 타임아웃 구현 시 타임아웃 시간은 10분으로 설정할 것을 권고함
세션 고정
: 사용자 로그인 시 항상 일정하게 고정된 세션 ID 값이 발행되거나 예측 가능한 패턴으로 발행되는 취약점
로그인 시 아이디에 동일한 세션 아이디가 발급되는 경우, 해당 값으로 공격자가 세션 ID를 도용하여 비인가자의 접근 혹은 권한 우회를 시도할 수 있다.
[보안 방법]
- 로그인할 때마다 예측 불가능한 새로운 세션 ID를 발급받도록 해야 하고 기존 세션 ID는 파기해야 함
'웹 해킹 > 기타 웹 취약점' 카테고리의 다른 글
[주통기 웹 취약점] 경로 추적, 위치 공개 (0) | 2024.02.26 |
---|---|
[주통기 웹 취약점] 프로세스 검증 누락, 관리자 페이지 노출 (0) | 2024.02.26 |
[주통기 웹 취약점] 자동화 공격 (0) | 2024.02.26 |
[주통기 웹 취약점] 약한 문자열 강도, 취약한 패스워드 복구 (0) | 2024.02.26 |
[주통기 웹 취약점] 정보 누출, 악성 콘텐츠 (0) | 2024.02.26 |