SONOTRI
  • [Dreamhack] Dream Beginner_64se64🚩
    2024년 05월 29일 21시 33분 57초에 업로드 된 글입니다.
    작성자: sonootri

      내가 푸는 첫 워게임이다.....! 차근차근 풀어보자
     
    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화면과 코드의 관계성 작성

    댓글