세션 고정 취약점 정리

·2023년 7월 7일
post-thumbnail

🖥️ 세션 고정 취약점(Session Fixation)

🖱️ 세션 고정 취약점이란?

로그인 시 발급받은 세션 ID가 로그인 전과 후에 동일하게 사용되어 비인가자가 타인의 세션을 하이재킹하여 정상적 사용자로 위장하여 접근하는 행위


🤍 주통기반 세션 고정 취약점 진단

  • 점검 내용
    사용자 로그인 시 일정하게 고정된 세션 ID값 발생 여부 확인

  • 점검 목적
    로그인 시 예측 불가능한 새로운 세션 ID를 매번 발행하여 세션 ID의 재사용을 방지

  • 보안 위협
    사용자 로그인 시 일정하게 고정된 세션 ID 발생 시 세션 ID를 도용한 비인가자의 접근 및 권한 우회 발생 가능성

📑 점검대상 및 판단 기준

양호 : 로그인 시 예측 불가능한 세션 ID 발생, 기존의 ID는 파기
취약 : 로그인 세션 ID가 고정적으로 사용되거나 새로운 세션 ID가 예측 가능하게 생성되는 경우

🤍 해결 방법

  • 세션 생성 후 로그아웃이나 브라우저 종료와 같은 상황에서 세션을 리셋하고 ID 값을 초기화한다.
<?php
session_start(); // 세션 시작

session_unset(); // 세션 변수 제거
session_destroy(); // 세션 파기

// 새로운 세션 ID값 생성
$_SESSION['username'] = 'EL';

?>

* 추후 아래에서 개발한 웹사이트의 로그인 화면에서 세션 고정 취약점이 일어나는 지 확인하여 추가 예정
profile
화이트해커 엘입니다😉

0개의 댓글