오늘의 문제는 Key값이 주어지고 Name을 맞추라고 하는군요 ㅎㅎㅎㅎ
힌트는 Name은 1자리이고 알파벳또는 숫자라고 합니다 :D
EP 입니다 ㅎㅎㅎ
별다른거 없어보이니 바로 문자열 검색하였습니다 :D
분기점을 찾을 수 있었습니다!
그리고 프로그램을 실행해 보겠습니다 :D
일단 1자리이고 알파벳 또는 숫자라고 했으니
임의의 문자 a를 넣어주겠습니다 ㅎㅎㅎ!
입력을하니.. 문자를 더 입력하라고 하네요..?
정답은 한자리라면서...=_=...
그래서 저 문자열을 찾아가 보았습니다 :D
글자 수를 체크하는 곳이 보입니다!
브레이크를 걸고 실행해서 보니 EAX에 1이 담깁니다!
글자수가 들어가는 것 같아보이는군요..!
그래서 문제가 오류인가 생각을 해봤는데.. 이것도 문제이겠거니 해서 변경해주었습니다!
3을 1로 바꾸어 1글자여도 동작될 수 있도록 해주었습니다!
그리고 문자를 통해서 암호화가 되기 때문에 먼저 암호화가 어디서 이루어지는 찾아야합니다 :D
45BB9B 주소의 함수을 지나니 EAX에 어떤 키가 담기는 것을 확인했습니다 ㅎㅎㅎ
그래서 들어가서 분석을 해보았습니다!
들어가서 보시다보면 이 위와같은 구조가 4개가 보였습니다!
그리고 이 루틴의 첫 시작이 제가 입력한 e인 것을 보아 KEY 생성하는 구간이구나 생각했습니다 ㅎㅎㅎ
'-'를 기준으로 총 5개가 있는데 위의 루틴은 첫번째 구간이니 'BEDA'를 만들어내는 녀석을 찾으면 될 것 같습니다 :D
위의 사진과 같이 루틴의 수식을 다 적어 놓은 후..
파이썬을 이용해서 간단히 코딩해 보았습니다 :D
그리고 실행!!
beda가 포함된 녀석을 찾았습니다 :D
바로 "F"군요!!
맞는지 확인해 봐야겠죠 ㅎㅎㅎ?
"Well done!"창이 뜨는군요 ㅎㅎㅎㅎ!
정답은 "F"이네용!
이제 MD5로 해쉬화해서 인증하면됩니다!
이만 문제풀이를 마치겠습니다 :D
'CTF > CodeEngn.kr' 카테고리의 다른 글
Basic RCE L19 (0) | 2020.04.07 |
---|---|
Basic RCE L18 (0) | 2020.04.02 |
Basic RCE L16 (0) | 2020.03.31 |
Basic RCE L15 (0) | 2020.03.30 |
Basic RCE L14 (0) | 2020.03.28 |