일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 세마포어
- 논문리뷰
- 디포전 2급
- cve-2024-6387
- 코드엔진
- 디포전
- 리버싱
- malware
- dll side-loading
- DLL 사이드로딩
- BoB 12기
- CodeEngn
- 필기
- BoB 12기 최종합격 후기
- 정보보안기사
- bob
- h4ckinggame
- race condition
- Best of the Best
- 디지털 포렌식 전문가 2급
- 디지털 포렌식 트랙
- 뮤텍스
- 정보기
- Active Directory
- 프로그래머스
- cve-2022-26923
Archives
- Today
- Total
SEO
[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가지를 이용하면 너무도 쉽게 풀린다!
반응형
'Wargame > 기타 워게임' 카테고리의 다른 글
[Reversing.kr] Easy Keygen_문제 풀이_nabi (1) | 2023.04.27 |
---|---|
[Reversing.kr] Easy crack_문제 풀이_nabi (0) | 2023.04.17 |
[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 |