write-up/pwnable

[HackCTF] x64 Buffer Overflow

여니두 2019. 10. 4.

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

댓글