64se64
문제 설명
"Welcome! 👋"을 출력하는 html 페이지입니다.
소스 코드를 확인하여 문제를 풀고 플래그를 획득하세요.
플래그 형식은 DH{...} 입니다.
해설
제공되는 페이지에 들어가면 다음과 같은 페이지를 볼 수 있다.
개발자 도구를 열어서 보면, 다음과 같은 html 코드를 볼 수 있다.
위에서 숨겨진 input 태그의 name attr이 64se64_encoding이라고 되어있고 value 값의 끝을 보면 ==로 패딩이 들어가 있으므로 base64로 인코딩된 문자열일 것이라고 생각했고, base64 decoder를 사용해서 디코딩 한 결과 다음과 같은 코드를 얻을 수 있었다.
#!/usr/bin/env python3
asc=[68, 72, 123, 98, 101, 48, 52, 54, 98, 55, 53, 50, 50, 97, 97, 50, 101, 50, 56, 102, 50, 55, 54, 101, 48, 99, 57, 49, 48, 53, 50, 49, 102, 50, 51, 97, 48, 53, 56, 55, 48, 48, 53, 97, 56, 51, 55, 55, 51, 55, 48, 97, 49, 49, 101, 53, 101, 52, 100, 99, 49, 53, 102, 98, 50, 97, 98, 125]
arr=[0 for i in range(68)]
for i in range(0,68):
arr[i]=chr(asc[i])
flag=''.join(arr)
print(flag)
위 코드를 실행하면 결과로 정답인 DH{be046b7522aa2e28f276e0c910521f23a0587005a8377370a11e5e4dc15fb2ab}를 얻을 수 있다.