[CryptoHack] SYMMETRIC CIPHERS(Lazy CBC)
2023. 5. 4. 23:59
워게임/CryptoHack
Lazy CBC 문제 나는 게으른 개발자일이고, 내 CBC 암호화가 작동하기를 원합니다. 초기화 벡터에 대한 이 모든 이야기는 무엇인가요? 중요하게 않은 것 같아요. 풀이 더보기 먼저 제공된 사이트와 코드다. from Crypto.Cipher import AES KEY = ? FLAG = ? @chal.route('/lazy_cbc/encrypt//') def encrypt(plaintext): plaintext = bytes.fromhex(plaintext) if len(plaintext) % 16 != 0: return {"error": "Data length must be multiple of 16"} cipher = AES.new(KEY, AES.MODE_CBC, KEY) encrypted = c..
[CryptoHack] CRYPTO ON THE WEB(JSON in JSON)
2023. 5. 3. 22:35
워게임/CryptoHack
JSON in JSON 문제 설명 우리는 어떻게 결함있는 검증이 JWT들의 보안을 부술 수 있는지 조사해왔지만, 때때로 코드를 악용하여 예상하지 못한 데이터에 서명할 수 있다. https://web.cryptohack.org/json-in-json/ 풀이 더보기 import json import jwt # note this is the PyJWT module, not python-jwt FLAG = ? SECRET_KEY = ? @chal.route('/json-in-json/authorise//') def authorise(token): try: decoded = jwt.decode(token, SECRET_KEY, algorithms=['HS256']) except Exception as e: ret..
[CryptoHack] CRYPTO ON THE WEB(JWT Secrets)
2023. 5. 3. 20:23
워게임/CryptoHack
JWT Secrets 문제 및 개념 JWT에 사용되는 가장 공통적인 서명 알고리즘은 HS256 및 RS256입니다. 첫 번째 HS256은 SHA256 해시 함수가 있는 HMAC를 사용하는 대칭 서명 체계입니다. 두 번째 RS256은 RSA를 기반으로 하는 비대칭 서명 체계입니다. 인터넷에 있는 많은 안내글에서는 HS256을 사용하는 것이 더 간단하기 때문에 추천합니다. 토큰 서명에 사용된 비밀 키는 토큰을 확인하는 데 사용된 키와 동일합니다. 그러나 비밀 서명 키가 손상되면 공격자는 임의 토큰에 서명하고, 다른 사용자의 세션을 위조하여 웹앱을 완전히 손상시킬 수 있습니다. HS256은 HS256 토큰을 확인하는 모든 서버에서 키를 사용할 수 있어야 하기 때문에 비대칭 키 쌍보다 보안을 유지하기가 어렵습니..
[CryptoHack] CRYPTO ON THE WEB(JSON WEB TOKENS, JWT Sessions, No Ways JOSE)
2023. 5. 1. 20:52
워게임/CryptoHack
JSON WEB TOKENS 문제 및 개념 JOSE(JavaScript Object Signing and Encryption)는 인터넷에서 정보를 안전하게 전송하는 방법을 지정하는 프레임워크입니다. 웹 사이트나 응용 프로그램에서 사용자 권한을 부여하는 데 사용되는 JSON 웹 토큰(JWT)으로 가장 잘 알려져 있습니다. JWT는 일반적으로 사용자 이름과 암호를 입력하여 사용자 자신을 인증한 후 "로그인 세션"을 브라우저에 저장하여 이 작업을 수행합니다. 즉, 웹사이트는 사용자 ID가 포함된 JWT를 제공하며, 사이트에 제시되어 다시 로그인하지 않아도 사용자가 누구인지 증명할 수 있습니다. JWT는 이렇게 생겼습니다. eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmbGFnIjoi..
[CryptoHack] 가입, Introduction
2023. 3. 31. 23:47
워게임/CryptoHack
1. 소개 CryptoHack은 암호학을 배우기 위한 워게임사이트이다. 해당 사이트의 소개에 따르면 AES, RSA 및 Elliptic-Curve와 같은 '현대'암호화의 잘못된 구현을 중단하는 것에 중점을 둔다고 한다. 필자는 암호학에 대해 복습 및 공부를 할겸 이를 한번 도전해보려고한다. 2. 가입 시작부터 가입을 하기 위해선 Solve this Roman Emperor`s cipher : RGJJKX KDVXKYY ZGM YAOZ 라고 나와 있다. 즉 시저암호 혹은 카이사르 암호를 통해 이를 해결해야한다. 위의 사진과 같이 LADDER EXPRESS TAG SUIT 영단어로 추정되는 평문이기에 이를 대입하였다. 해당 창과 함께 가입이 되었다. 3. Introduction 1) Finding Flags..