작업 환경
- VMware Workstation Pro (17.6.2 ver)
- Server
- Web 서버 : Rocky_Linux(8.10 ver, VMnet 2, PHP로 구성)
- DNS 서버 : Rocky_Linux(8.10 ver, VMnet 1)
- Client
- Kali Linux : Web 취약점 점검용 (VMnet 1)
- GNS 구성
- 해당 점검은 비밀번호 수정 페이지, 게시글 페이지에 한해서 진행됨
SE (상) | 16. 세션 예측 |
취약점 개요 | |
점검 내용 | 인증이 필요한 웹 사이트의 중요(관리자 페이지, 회원변경 페이지 등) 페이지에 대한 접근제어 설정 여부 확인 |
점검 목적 | 인증이 필요한 모든 페이지에 대해 유효 세션임을 확인하는 프로세스 및 주요 정보 페이지에 접근 요청자의 권한 검증 로직을 적용하여, 비인가자가 하위 URL 직접 접근, 스크립트 조작 등의 방법으로 중요한 페이지에 접근을 시도하는 것을 차단하기 위함 |
보안 위협 | 인증이 필요한 웹 사이트의 중요(관리자 페이지, 회원변경 페이지 등) 페이지에 대한 접근 제어가 미흡할 경우 하위 URL 직접 접근, 스크립트 조작 등의 방법으로 중요한 페이지에 대한 접근이 가능함 |
판단 기준 |
양호 : 인증 후에 접근해야 하는 웹 사이트의 하위 URL을 로그인하지 않고 직접 접근할 때 접근이 불가능한 경우 취약 : 웹 사이트의 하위 URL을 로그인하지 않고 직접 접근할 때 접근이 가능한 경우 |
참고 | OWASP TOP 10 항목 중 A04 : Insecure Design 에 해당한다고 판단 |
점검 방법
- Step 1) 업무프로세스 파악
- Step 2) 권한의 종류 및 범위 파악
- Step 3) 페이지의 모든 기능을 수집하여 프로세스 상에 통제된 페이지 접근이 가능한지 확인
1. 로그인 없이 게시글 작성하는 경우
2. 로그인 없이 댓글을 작성하는 경우
3. 로그인 없이 비밀번호 변경하는 경우
보안 설정 방법
- 우회될 수 있는 플로우를 차단하여야 하며, 페이지별 권한 매트릭스를 작성하여 페이지에 부여된 권한의 타당성을 체크한 후 권한 매트릭스를 기준으로 전 페이지에서 권한 체크가 이뤄지도록 구현하여야 함
- 인증이 필요한 모든 페이지에 대해 유효 세션임을 확인하는 프로세스 및 주요 정보 페이지에 접근 요청자의 권한 검증 로직을 적용함
- 유효 세션의 검증 및 페이지에 대한 접근 권한을 Client Side Script에 의존할 경우 사용자가 임의로 수정할 수 있으므로 Server Side Script로 구현된 프로세스를 사용
참고
🔐 OWASP TOP 10(2021)과의 연관
OWASP Top 10 공식문서 일부
"Insecure design is a broad category representing different weaknesses, expressed as 'missing or ineffective control design.'"
1. A03: Insecure Design
- 프로세스 검증 누락 : 애플리케이션의 보안 설계가 부족하거나 부적절하게 구현된 경우
- 입력 값 검증 부족 : 사용자 입력에 대한 유효성 검사가 없거나 부적절하여, 악의적인 입력이 시스템에 전달
- 비즈니스 로직 검증 누락 : 특정 프로세스나 기능에 대한 접근 제한이 없어, 권한이 없는 사용자가 이를 악용
🛡️ 방어 방법
- 입력 값 검증 강화: 모든 사용자 입력에 대해 서버 측에서 유효성 검사를 수행하여, 예상치 못한 입력이 시스템에 영향을 미치지 않도록 함
- 상태 관리 구현: 사용자 세션 및 애플리케이션 상태를 적절하게 관리하여, 예기치 않은 동작이나 보안 취약점을 방지
'주요정보통신기반시설가이드 > Web 취약점 점검' 카테고리의 다른 글
[FU (상)] 22. 파일업로드 (4) | 2025.05.14 |
---|---|
[AU (상)] 20. 자동화 공격 (2) | 2025.05.14 |
[SF (상)] 19. 세션 고정 (0) | 2025.05.14 |
[SC (상)] 18. 불충분한 세션 만료 (0) | 2025.05.14 |
[IN (상)] 17. 불충분한 인가 (0) | 2025.05.13 |