
JWT 키 혼동 PoC (CVE-2015-9235) - Hack the Box 챌린지 'Under Construction'를 위해 작성됨
Hack the Box 챌린지(Under Construction 및 Secret)를 위해 작성됨
포함된 두 스크립트 모두 Java Web Token 키 혼동 공격(CVE-2015-9235)을 수행합니다.
공격을 수행하려면 공격자가 서버가 서명을 검증하는 데 사용할 공개 키를 알고 있어야 하며, 서버가 HS256 알고리즘을 사용하도록 구성되어 있어야 합니다. HS256은 대칭 키 알고리즘(메시지 서명 및 검증에 동일한 키 사용)이므로 공개 키를 사용하여 변조된 토큰에 서명할 수 있습니다. 웹 서버는 공개 키를 알고 있으므로 변조된 토큰을 수신하면 이를 검증할 수 있습니다.

python3 jwt-9235.py [-h] [token_location] [claim_key] [claim_value]
positional arguments:
token_location location of JWT token (must include 'pk' payload)
claim_key payload claim to target
claim_value new claim value
optional arguments:
-h, --help show this help message and exit
인수가 제공되지 않으면 애플리케이션은 ./token 토큰 파일을 찾아 username 클레임을 대상으로 하고 클레임 값을 ‘ or 1=1;– 로 대체합니다.
pip install hashlib hmac base64 json argparse colorama