write-up/pwnable
[HackCTF] x64 Buffer Overflow
64bit ELF 파일이다.
IDA x64 버전으로 열어보았다.
scanf로 s 버퍼에 입력을 받고,
v5에 s 문자열의 길이를 넣는다.
printf로 s 버퍼에 입력한 것을 출력한다.
스택에 120h(=288byte)를 할당하고 있다.
s 버퍼는 [rbp+s] = [rbp-110h]에 위치하고 있다는 것을 알 수 있다. (=272byte)
변조할 함수가 없나 함수 목록을 보았더니, 수상한 이름의 callMeMaybe가 보인다.
주의할 점은 32bit에서는 RET을 덮을 때 SFP가 4byte였지만,
64bit 환경은 기본적으로 스택의 크기가 8byte다. 따라서 SFP를 8byte 덮어야 한다.
★ 페이로드
NOP[280] + callMeMaybe 주소
'write-up > pwnable' 카테고리의 다른 글
[HackCTF] ROP (2) | 2019.10.05 |
---|---|
[HackCTF] RTL_World (0) | 2019.10.05 |
[HackCTF] 내 버퍼가 흘러넘친다!!! (0) | 2019.10.04 |
[HackCTF] Basic_FSB (0) | 2019.10.04 |
[HackCTF] Basic_BOF #2 (0) | 2019.10.04 |
댓글