피드로 돌아가기
Dev.toSecurity
원문 읽기
HS256 대칭키 취약점을 이용한 JWT Role 변조 및 권한 상승
My Favorite OS - Jerseyctf6
AI 요약
Context
사용자 역할 기반의 접근 제어를 위해 JWT를 도입한 시스템 구조. HS256 알고리즘 기반의 대칭키 암호화 방식 사용으로 인한 Secret Key 유출 가능성 내포.
Technical Solution
- JWT Payload 내 role 필드를 통한 권한 검증 로직 확인
- HS256 알고리즘의 특성인 동일 Secret Key 기반의 서명 및 검증 구조 분석
- Hashcat 도구를 활용한 Dictionary Attack으로 서버 측 Secret Key(windows98) 추출
- 추출한 Secret Key를 활용해 role을 user에서 Admin으로 변경한 위조 토큰 생성
- 위조된 Authorization Bearer 토큰을 통한 /admin/panel 엔드포인트 접근 권한 획득
실천 포인트
1. HS256 대신 비대칭 암호화 방식인 RS256 도입 검토
2. 추측 불가능한 고엔트로피 Secret Key 설정 및 주기적 교체 적용
3. JWT Payload의 클라이언트 측 가독성을 고려한 민감 정보 포함 배제
4. 서버 사이드에서의 추가적인 세션 검증 또는 Token Blacklist 운영