pwnable.kr 의 passcode를 풀다가 알게되어 적어봅니다.
#include<stdio.h>
void func1() {
printf("This is func1");
}
void func2() {
print("This is func2");
}
int main() {
func1();
func2();
}
다음과 같은 소스코드가 있을 때 main 함수 내에서 연속된 함수호출이므로
func1 스택 프레임의 SFP와 func2 스택 프레임의 SFP는 같다는 점.
물론, 호출하는 함수에 사용되는 매개변수의 개수가 같아야 가능하겠지만,
스택 프레임 내부에서 선언된 변수에 접근할 때
$(ebp - 0x4) 와 같이 ebp를 기준으로 접근하는 경우가 많으므로 알아두면 도움이 될 것 같습니다.
pwnable.kr의 passcode 문제에서 EBP를 생각해 볼 수 있었습니다.
'CTF' 카테고리의 다른 글
Sigreturn ROP (0) | 2022.05.02 |
---|---|
Memo. RTL (Return to libc) (0) | 2022.04.09 |
CTF 문제 풀이 (0) | 2021.06.19 |