이 영역을 누르면 첫 페이지로 이동
SH1R0_0의 기술블로그 블로그의 첫 페이지로 이동

SH1R0_0의 기술블로그

페이지 맨 위로 올라가기

SH1R0_0의 기술블로그

[rev] Binary Conspicuous Digits

  • 2024.03.12 00:28
  • 🚩 CTF Writeup/WxMCTF '24

 

 

📌 Intro

This program outputs some conspicuous binary digits. See if you can find out what they mean...

 

 

🔬 Analysis

# encrypt.py
#!/usr/bin/env python3

flag = 'wxmctf{REDACTED}'
encoded = ''

for c in flag:
    encoded += ''.join(map(
        lambda x: format(int(x), 'b').zfill(4),
        str(ord(c)).zfill(3)
    ))

with open('output.txt', 'w') as output:
    output.write(encoded)

위 코드를 보면 flag 문자에 대해 다음과 같은 작업을 수행한다.

 

1. str(ord(c)).zfill(3) : 문자의 ASCII값을 문자열로 변환하고, 3자리 숫자가 되도록 앞에 0을 채운다.

print(str(ord('w')).zfill(3))	# 119

 

2. lambda x: format(int(x), 'b').zfill(4) : 각 숫자를 이진수로 변환한다. 각 이진수는 4자리가 되도록 앞에 0을 채운다.

lambda x: format(int('1'), 'b').zfill(4) # 0001

 

즉, "w" 문자는 000100011001문자로 변환된다.

 

 

🎉 Exploit

역연산 코드를 작성하면 다음과 같이 작성할 수 있다.

with open('output.txt', 'r') as input_file:
    encoded = input_file.read()

decoded = ''
i = 0
while i < len(encoded):
    binary_char = encoded[i:i+12]
    ascii_value = 0

    for j in range(0, 12, 4):
        digit = int(binary_char[j:j+4], 2)
        ascii_value = ascii_value * 10 + digit

    decoded += chr(ascii_value)
    i += 12

print(decoded)

 

 

🚩 Flag

wxmctf{B1nary_R3v3rs1ng_4t_1ts_F1n3st}

'🚩 CTF Writeup > WxMCTF '24' 카테고리의 다른 글

[web] Nuclear Launch Codes  (0) 2024.03.11
[web] Walmart!  (0) 2024.03.11
[Web] Brawl: The Heist  (0) 2024.03.11

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [web] Nuclear Launch Codes

    [web] Nuclear Launch Codes

    2024.03.11
  • [web] Walmart!

    [web] Walmart!

    2024.03.11
  • [Web] Brawl: The Heist

    [Web] Brawl: The Heist

    2024.03.11
다른 글 더 둘러보기

정보

SH1R0_0의 기술블로그 블로그의 첫 페이지로 이동

SH1R0_0의 기술블로그

  • SH1R0_0의 기술블로그의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (33)
    • 📖 Study (11)
      • Crypto (0)
      • WebHacking (3)
      • Reversing (0)
      • Pwnable (1)
      • Develop & CS (1)
      • Android (4)
      • Etc (2)
    • 🚩 CTF Writeup (14)
      • SSTF 2023 (8)
      • osu!gaming CTF 2024 (2)
      • WxMCTF '24 (4)
      • KalmarCTF 2024 (0)
    • 🎮 Dreamhack Writeup (8)
      • Web (7)
      • Pwnable (1)

최근 글

인기 글

댓글

공지사항

  • 공지 - 박민혁 (SH1R0_0)

아카이브

태그

나의 외부 링크

  • 관리자
  • 글쓰기
  • 공부

정보

SHIR0_0의 SH1R0_0의 기술블로그

SH1R0_0의 기술블로그

SHIR0_0

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © SHIR0_0.

티스토리툴바