picoCTF 2021 Transformation

7616 단어 CTFBWTOSINT
할 수 없었던 문제를 writeup 등을 참고로 공부한 기록을 남긴다.
이 문제를 해결하는 열쇠는, 힌트대로, 넷에서 Transform 툴을 찾아내는 것이었던 것 같다.

Transformation



플래그를 가공한 파이썬
''.join([chr((ord(flag[i]) << 8) + ord(flag[i + 1])) for i in range(0, len(flag), 2)])

파일 enc로 주어진 문자열
灩捯䍔䙻ㄶ形楴獟楮獴㌴摟潦弸弲㘶㠴挲ぽ


You may find some decoders online

enc 바이너리
e7 81 a9 e6 8d af e4 8d 94 e4 99 bb e3 84 b6 e5 bd a2 e6 a5 b4 e7 8d 9f e6 a5 ae e7 8d b4 e3 8c b4 e6 91 9f e6 bd a6 e5 bc b8 e5 bc b2 e3 98 b6 e3 a0 b4 e6 8c b2 e3 81 bd

picoCTF {}의 pi를 주어진 파이썬으로 가공해 보자.
flag = "pi"
enc = ''.join([chr(   (ord(flag[i]) << 8) +    ord(flag[i + 1])  ) for i in range(0, len(flag), 2)])
print(ord(enc))
print(hex(ord(enc)))

결과
28777
0x7069

곤란했다. enc 바이너리와 전혀 다르다.

여기에서 다른 힘.



풀린 사람은 온라인 변환기를 사용했다고 썼습니다.
URL는 쓰지 않는다.

online convertor에서 검색
몰라

pico에 자주 있는 「문제명=힌트」로 해 본다
Transformation decorde tool로 구그하면

라는 것이 발견되었다.
시도해보기

빨간색으로 pi 28777이 보입니다.
다음 파랑 17236이 co?
flag = "co"
enc = ''.join([chr(   (ord(flag[i]) << 8) +    ord(flag[i + 1])  ) for i in range(0, len(flag), 2)])
print(ord(enc))

결과
25455

이 컨버터로부터 수치를 꺼낸다.
28777,25455,17236,18043,12598,24418,26996,29535,26990,29556,13108,25695,28518,24376,24370,13878,14388,25394,12413

솔버 쓰기
trans = [28777,25455,17236,18043,12598,24418,26996,29535,26990,29556,13108,25695,28518,24376,24370,13878,14388,25394,12413]
i = 0
flag = ""
while i < len(trans):
    flag = flag + chr(trans[i] >> 8)
    flag = flag + chr(trans[i] & 0xff)
    i = i + 1
print(flag)

빙고

그러나 Burrows-Wheeler Transform이 무엇을 하는지 전혀 모릅니다.

좋은 웹페이지 즐겨찾기