728x90
반응형
목차
Intro
문제 중 발췌
대부분의 웹 애플리케이션 개발자는 보안을 테스트하지 않고 타사 컴포넌트를 사용합니다.
구성 요소를 식별하고 취약한 구성 요소를 익스플로잇할 수 있나요? 챌린지 인스턴스를 실행한 후 추가 세부 정보를 확인할 수 있습니다.
JWT None Algorithm Attack
JWT는 Header 영역에 “alg” 값을 통해 알고리즘을 명시한다. JWT 토큰 생성 시 alg 값을 none으로 명시하거나 일부 JWT 라이브러리들은 alg 값에 none 등 비서명 처리로 인해 서명처리를 하지 않고 넘어갈 수 있는 JWT 공격 기법이다.
JWT Debugger
alg에 none을 명시한 JWT를 만들어내기 위해 문제 풀이에 참고한 사이트이다. jwt.io 와는 다르게 alg에 nong 입력 시 signature 표출해주지 않는다.
Walk Through
문제에서 제시된 ID와 PW로 로그인이 가능하다.
로그인 후 F12를 통해 Cookie에 JWT가 보인다. 이 JWT를 디코딩하면 다음과 같은 내용이 보인다.
“role”의 “user”를 “admin”으로 변경해보자. 이는 앞서 언급한 JWT Debugger를 통해 가능하다. JWT Debugger를 통해 다음과 같이 변경하자.
이때 alg의 value를 “none”으로 변경해 JWT None Algorithm Attack을 시도하자. 또한 JWT String을 보면 점(.)이 하나밖에 없음을 알 수 있다. 끝에 점(.)을 추가해 cookie에 입력되어있는 JWT의 value를 수정하면 flag가 보인다.
728x90
반응형
'CTF > picoCTF' 카테고리의 다른 글
[picoCTF] Super Serial (0) | 2024.09.09 |
---|---|
[picoCTF] Forbidden Paths (1) | 2024.09.07 |
[picoCTF] General Skills (0) | 2024.04.05 |
[picoCTF] It is My Birthday (0) | 2022.06.06 |
[picoCTF] General Skills - flag_shop (0) | 2022.05.01 |