[Dreamhack] Dream Beginner_64se64🚩
내가 푸는 첫 워게임이다.....! 차근차근 풀어보자
1. 문제 정보- 문제 설명
2) 접속 정보
제공된 웹해킹 문제 하이퍼링크를 따라가면 이런 화면이 나온다. 뭐지... DH{}플래그 형식은 아닌 것 같으니 일단 문제 파일을 받아보자
3. 문제 파일
압축을 풀면 이런 파일이 뜬다. 오... HTML? 문제 설명에서 본 단어 같다. 근데 중요한건 내가 HTML이 뭔지 모른다는거다! 일단 이 파일도 열어보자.
근데 뭔가 아까랑 비슷한 화면이다.
3-1) HTML/ HTML Document
-HTML( Hyper Text Markup Language): 가장 단순한 형태의 웹 언어이다. 웹 서버에 HTML문서를 저장하고 있다가, 클라이언트가 특정 HTML 페이지를 요청하면 해당 HTML 문서를 클라이언트로 전송한다.
그리고 압축 푼 파일을 텍스트 리더로 열어봤다. 오 뭔가 전 장에서 배웠던 utf-8 그리고 해독되지 않은? URL주소같은게 보인다. 그리고 이게 바로 HTML 웹 언어를 사용하여 작성한 코드인가보다.
일단 전 장에서 첨부했던 디코드 링크로 들어가 html문서의 body부분에 있는 엄청 긴 문장을 해석해보았다.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Welcome</title>
</head>
<body>
<h1>Welcome! 👋</h1>
<form method="POST">
<input type="hidden" name="64se64_encoding" value="IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwphc2M9WzY4LCA3MiwgMTIzLCA5OCwgMTAxLCA0OCwgNTIsIDU0LCA5OCwgNTUsIDUzLCA1MCwgNTAsIDk3LCA5NywgNTAsIDEwMSwgNTAsIDU2LCAxMDIsIDUwLCA1NSwgNTQsIDEwMSwgNDgsIDk5LCA1NywgNDksIDQ4LCA1MywgNTAsIDQ5LCAxMDIsIDUwLCA1MSwgOTcsIDQ4LCA1MywgNTYsIDU1LCA0OCwgNDgsIDUzLCA5NywgNTYsIDUxLCA1NSwgNTUsIDUxLCA1NSwgNDgsIDk3LCA0OSwgNDksIDEwMSwgNTMsIDEwMSwgNTIsIDEwMCwgOTksIDQ5LCA1MywgMTAyLCA5OCwgNTAsIDk3LCA5OCwgMTI1XQphcnI9WzAgZm9yIGkgaW4gcmFuZ2UoNjgpXQpmb3IgaSBpbiByYW5nZSgwLDY4KToKICAgIGFycltpXT1jaHIoYXNjW2ldKQpmbGFnPScnLmpvaW4oYXJyKQpwcmludChmbGFnKQ==">
</form>
</body>
</html>
오! 뭔가 나왔다. 파이썬 코드같다. utf-8이 html문서에 적혀있어서 이걸 기반으로 해석했다. 근데 아스키 코드로 변경해서도 해봤는데 값은 똑같다. 근데 내 컴퓨터 파이썬 고장났는데 어떻게하지....? 지하철 타고 가면서 생각해보자
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwphc2M9WzY4LCA3MiwgMTIzLCA5OCwgMTAxLCA0OCwgNTIsIDU0LCA5OCwgNTU
sIDUzLCA1MCwgNTAsIDk3LCA5NywgNTAsIDEwMSwgNTAsIDU2LCAxMDIsIDUwLCA1NSwgNTQsIDEwMSwgNDgsIDk5LCA
1NywgNDksIDQ4LCA1MywgNTAsIDQ5LCAxMDIsIDUwLCA1MSwgOTcsIDQ4LCA1MywgNTYsIDU1LCA0OCwgNDgsIDUzLCA5N
ywgNTYsIDUxLCA1NSwgNTUsIDUxLCA1NSwgNDgsIDk3LCA0OSwgNDksIDEwMSwgNTMsIDEwMSwgNTIsIDEwMCwgOTksIDQ
5LCA1MywgMTAyLCA5OCwgNTAsIDk3LCA5OCwgMTI1XQphcnI9WzAgZm9yIGkgaW4gcmFuZ2UoNjgpXQpmb3IgaSBpbiBy
YW5nZSgwLDY4KToKICAgIGFycltpXT1jaHIoYXNjW2ldKQpmbGFnPScnLmpvaW4oYXJyKQpwcmludChmbGFnKQ==
#!/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}
------<상세 분석>--------------
찾아보니 전 챕터에서 배운 base64와 아스키 코드와 관련이 있어 보인다. 근데 풀 떄도 이걸 생각하긴 했다. 인코딩 말이다.1. html코드 분석(속성 정리)
2. html화면과 코드의 관계성 작성