![]()
#Basic RCE L17
Key 값이 BEDA-2F56-BC4F4368-8A71-870B 일때 Name은 무엇인가
힌트 : Name은 한자리인데.. 알파벳일수도 있고 숫자일수도 있고..
정답인증은 Name의 MD5 해쉬값(대문자)
![]()
실행을 하면 키젠프로그램이 나온다.
1을 입력하고 check it!을 누르면 위와같은 메세지가 키에 들어간다.
올리디버거를 통해 열어봤다.
![]()
스트링 검색을 통해 에러메세지와 성공메세지를 찾을 수 있었다.
위의 에러메세지로 들어가봤다.
![]()
글자수가 3글자미만일때 에러메세지가 출력되는 것을 볼 수 있다.
문제는 Name이 한글자라고 했으니 비교하는 부분을 한 글자로 바꿔준다.
![]()
1로 바꿔주고, 실패 문자열 아래에 BP를 걸고 실행시킨다.
![]()
![]()
1을 입력하고 Checkit!을 했을 때의 시리얼을 만들어 내는 것을 알 수 있었다.
![]()
CALL 0045b850이 시리얼을 만들어 내는 것을 알 수 있었고, f7을 눌러 들어가보았다.
![]()
이 부분을 통해 시리얼을 만들어 내는 것을 알 수 있었고, 간단하게 파이썬으로 짜서 코드를 돌려봤다.
![]()
돌려보면 아래와 같은 결과를 볼 수 있고,
![]()
70이 name인 것을 알았고, 이를 아스키코드로 바꾸면 F가 나온다.
F를 MD5해시로 바꾸면
![]()
인증하면 클리어가 된다.
![]()