0x0102

[CodeEngn] Basic RCE L13 본문

Write Up/CodeEngn

[CodeEngn] Basic RCE L13

jxx_yxjx 2022. 11. 8. 18:50

정답은 무엇인가

13번 문제는 다른 힌트 없이 정답을 찾으라고만 나와서 먼저 PEiD를 통해 패킹 여부를 알아보았다.

.text 형태이므로 별다른 언패킹은 필요없어 보인다.

그러나 C# 형태이기 때문에 dotpeek에서 살펴보았다.

root namespace -> ~simpletest -> inhenitors -> main 경로로 Main을 찾을 수 있었다.

다음은 코드의 전문이다.

패스워드를 입력받아서 정답 문자열과 비교하여 맞으면 정답, 다르면 오답 처리를 하는 것 같다.

이 때 내가 입력한 문자열과 str 값을 비교하는데, 코드를 수정하여 암호화된 값이 아닌 정답을 출력하도록 해보자.

BnCxGiN4aJDE+qUe2yIm8Q==^F79ejk56$£DHj47&*)$hMD51024&!£$%^&*()CvHgE!256

dotpeek에서는 코드 수정이 안되므로 다음 파일을 export해서 visual studio에서 열어보았다.

이후 Console.WriteLine 전에 패스워드를 출력하여 볼 수 있도록 코드 한 줄을 추가시켜주었다.

26번 라인 참고

저장 후 실행을 해보면 다음과 같이 정답이 윗줄에 출력되고 입력을 받는 것을 알 수 있다.

입력 창에 그대로 위 정답을 입력하면 정답이라는 문구가 뜬다.

문제에서는 정답이 무엇인지 물어보았으므로 정답은 Leteminman.

'Write Up > CodeEngn' 카테고리의 다른 글

[CodeEngn] Basic RCE L15  (0) 2022.11.10
[CodeEngn] Basic RCE L14  (0) 2022.11.08
[CodeEngn] Basic RCE L12  (0) 2022.11.03
[CodeEngn] Basic RCE L11  (0) 2022.11.03
[CodeEngn] Basic RCE L10  (0) 2022.11.01