ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Dreamhack - Secure Mail
    wargame/Dreamhack 2024. 8. 4. 23:58

    [LEVEL 1 - Secure Mail - reversing]

     

     

     

    문제파일을 다운로드 받으면 html 파일이 하나 있는데, 비밀번호 생년월일 6자리를 알아내면 플래그값을 알 수 있는 문제다.

     

    일단 vs code로 열어서 소스코드 내용을 확인해본다. 보니까 생년월일 비번 제출하는 Confirm 버튼에 onclick()으로 0x9a220함수가 있는데 이걸 Ctrl+F로 검색해본다.

     

     

     

     

    위쪽에 이 함수가 사용되는 것을 볼 수 있다. 그런데 이 코드를 다 해석하는 건 비효율적으로 보인다. 브루트포싱이 나을 것 같다.

     

     

     

     

    html태그 나오기 바로 전에 script태그 끝나는 부분이 있었는데 여기에 보면 틀릴 때마다 wrong을 alert창으로 띄우는 걸 볼 수 있다.

     

     

     

     

    브루트포싱할 때마다 alert창이 뜨는 걸 없애고 싶으므로 이 부분만 return 0으로 바꿔준다.

     

     

     

     

     

    문제에서 제공된 html을 열면 위와 같은 화면을 볼 수 있는데 개발자도구(F12) 열어서 위와 같이 날짜 브루트포싱을 하는 코드를 짜고 엔터로 실행시킨다. 여기서 padStart(2, '0')은 년/월/일이 각 한자리일 때 앞에 0을 붙여서 두자리로 만들어주는 함수이다. 테스트한 걸 로그로 남기고 아까 본 0x9a220 함수에 현재 테스트값을 넣어서 정답을 찾으면 종료되는 로직이다.

     

     

     

     

    여기서 브루트포싱이 멈춘다. 결론은 이게 문제에서 요구하는 생년월일 6자리 비번이라는 뜻이다.

     

     

     

     

     

     

     

     

    플래그를 획득했다!

     

    'wargame > Dreamhack' 카테고리의 다른 글

    Dreamhack - [CodeEngn] Malware L06  (0) 2024.08.18
    Dreamhack - Inject ME!!!  (0) 2024.08.05
    Dreamhack - rev-basic-8  (1) 2024.07.23
    Dreamhack - rev-basic-6  (1) 2024.07.23
    Dreamhack - simple-operation  (0) 2024.07.17
Designed by Tistory.