상세 컨텐츠

본문 제목

[HackCTF-Misc#3] Who am I? - 100 points

Misc/HackCTF

by bing_su 2021. 1. 22. 22:40

본문

반응형
SMALL

HackCTF Misc 세 번째 문제는 Who am I?이다.

리버싱이나 포너블을 조금이라도 공부를 했던 사람이라면 다소 쉽게 풀 수도 있는 문제이다.

 

일단 문제를 해석하자면 eip를 터뜨린다는 말은 pop eip로 해석할 수 있다.

함수의 에필로그는 스택 프레임이 사라지는 과정이고 어셈블리 명령어로 leave, ret으로 구성되어 있다.

leave

mov ebp, esp

pop ebp

ret

pop eip

jmp eip

 

에필로그는 위와 같이 구성되고, 이를 해석하면 esp에 ebp를 복사해 메모리 공간을 정리해 주고, 스택에 들어있는 return address를 pop해 명령여 포인터인 rip에 넣고, 이후 명령 주소로 jmp 한다고 할 수 있다.

 

따라서 eip를 터뜨려주는 문제의 플래그 값은 ret이라고 생각했고, 이를 넣어줬더니 플래그 인증이 되었다.

 

어셈블리에 대해 잘 이해하면서 공부를 했다면 풀 수 있었던 문제였던 것 같다.

반응형
LIST

'Misc > HackCTF' 카테고리의 다른 글

[HackCTF-Misc#4] QRCODE - 150 points  (0) 2021.01.22
[HackCTF-Misc#2] BF - 50 points  (0) 2021.01.03
[HackCTF-Misc#1] Baseball Price - 50 points  (0) 2021.01.03

관련글 더보기

댓글 영역