Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- BoB 12기 최종합격 후기
- 코드엔진 basic 5
- malware
- 코드엔진
- 자살론
- 철학
- bob
- 사회분업론
- BoB 12기
- 논문리뷰
- 에밀 뒤르켐
- Best of the Best
- 리버싱
- h4ckinggame
- 사회적 사실
- 코드엔진 베이직
- 디지털 포렌식 트랙
- CodeEngn
- CodeEngn Basic 01
- CodeEngn Basic 5
- codeengn basic rce 01
Archives
- Today
- Total
woonadz :)
[H4CKING GAME] ROX_문제 풀이_crypto 본문
반응형
Message = b"\x2d\x5a\x29\x28\x34\x1e\x16\x05\x1d\x26\x17\x01\x12\x30\x01\x0a\x1c\x35\x1d\x16\x1d\x13"
known_plaintext = "?????"
print('-----*-----*-----*-----*-----')
Mlen = len(Message)
Klen = len(known_plaintext)
result = ""
for i in range(Mlen):
result += chr(Message[i] ^ ord(known_plaintext[i%Klen]))
print(result)
문제 코드는 위와 같다.
변수명을 통해 알려진 평문은 이용하여 공격해보는 문제라는 것을 알 수 있다.
이 문제의 힌트는 다음과 같다.
1. XOR은 A ^ B = C, C ^ B = A 라는 특성이 있다.
2. known_plaintext = "?????" 를 통해 알려진 평문의 글자 수는 5개라는 것을 알 수 있다.
3. H4CKING GAME 에서 알려진 평문을 생각해본다.
평문의 글자 수가 5개라는 것이 알려져 bruteforce 공격으로도 적은 시간내에 풀 수 있다.
하지만 가장 쉽게 푸는 법은 3번을 이용하여 알려진 평문을 생각해보는 것이 아닐까 싶다.
flag와 flag로 이어지는 평문은 공개하지 않겠다.
위 3가지를 이용하면 너무도 쉽게 풀린다!
반응형
'IT > 기타 워게임' 카테고리의 다른 글
[suninatas] Game 26 문제 풀이_forensic_nabi (0) | 2023.01.03 |
---|---|
[suninatas] Game 19 문제 풀이_forensic_nabi (0) | 2023.01.03 |
[suninatas] Game 18 문제 풀이_forensic_nabi (0) | 2023.01.03 |
[suninatas] Game 11 문제 풀이_reversing_nabi (0) | 2023.01.03 |
[suninatas] Game 9 문제 풀이_reversing_nabi (0) | 2023.01.03 |