Unit 설명
JWT의 구조와 서명을 이해하고, 서명과 검증 키를 노리는 공격과 방어를 학습합니다.
학습목표
이런 내용을 배워요
- 세션 기반 인증의 한계와, 한번 발급한 토큰을 무효화할 수 없다는 JWT의 트레이드오프
- 수학 없이 개념으로 짚는 해시·HMAC·RSA 서명, 그리고 HS256·RS256의 선택
- Header·Payload·Signature 구조와 base64url 인코딩, 등록된 클레임
- 서명을 무력화하는 alg 조작 공격(alg: none, alg confusion)과 그 방어
- 검증 키를 공격자 것으로 바꾸는 jwk·jku·kid 공격과 그 방어, 라이브러리가 막아 주지 못하는 지점
- 가상 서비스 Dreamshop의 토큰을 직접 위조해 관리자 권한을 얻는 실습
이런 분께 추천해요
- 쿠키와 세션 기반 인증은 알지만, JWT는 아직 다뤄 보지 않은 웹 해킹 학습자 분
- 서비스에 JWT를 쓰면서 그 검증을 라이브러리에 맡겨 온 백엔드 개발자 분
이런 선수 지식이 필요해요
- HTTP 요청과 응답, 쿠키와 세션 기반 인증의 동작 방식
- base64 인코딩의 개념
- 간단한 Python 코드 독해와 가상 환경·터미널 사용
구성
JWT와 전자 서명 이해하기
Background: 토큰과 전자 서명
Background: JWT
JWT와 전자 서명 기초
JWT 취약점과 방어 이해하기
Exploit Tech: alg 조작과 방어
JWT 서명 우회해보기
Exploit Tech: 검증 키 조작과 방어
JWT 취약점과 방어
평점
Unit의 모든 항목을 완료한 후 평가할 수 있습니다.
JWT
0% 진행중
총 0개 항목 완료
강의
0 /4
제외
퀴즈
0 /2
2
Lab은 실습 개념으로, 전체 진도율에 포함되지 않아요.