히공

UTCTF 2021 - Sizzling Bacon 본문

write up/UTCTF 2021

UTCTF 2021 - Sizzling Bacon

heegong 2021. 3. 20. 19:01
728x90
sSsSSsSSssSSsSsSsSssSSSSSSSssS{SSSsSsSSSsSsSSSsSSsSSssssssSSSSSSSsSSSSSSSSsSSsssSSssSsSSSsSSsSSSSssssSSsssSSsSSsSSSs}

문제 입니다.

 

 

 

{ 전 문자열의 길이가 30입니다.

플래그 형식이 utflag{}인 것을 생각했습니다.

utflag의 길이는 6이고

그래서 한 문자당 5개의 s, S를 쓴다고 생각했습니다.

 

 

 

 

소문자 s는 1

대문자 S는 0

 

이런 식으로 변환해주고 97을 더해주면 됩니다.

 

 

 

 

 

 

 

st = 'SSSsSsSSSsSsSSSsSSsSSssssssSSSSSSSsSSSSSSSSsSSsssSSssSsSSSsSSsSSSSssssSSsssSSsSSsSSSs'
plus_num = 97


ls = [st[i:i+5] for i in range(0,len(st)-4,5)]


flag = ''


for i in ls:
    bin_a = ''
    for j in i:
        if 's'==j:
            bin_a+='1'
        else:
            bin_a+='0'
    flag += chr(int(bin_a,2)+plus_num)



flag = "utflag{"+flag+"}"
print(flag)

플래그 : utflag{crispybaconcipher}

Comments