Pwnstar

HackCTF 0x5번 x64 Simple_size_BOF 본문

Wargame/HackCTF

HackCTF 0x5번 x64 Simple_size_BOF

포너블처돌이 2020. 1. 24. 00:36

 

여섯 번째 문제

 

이제 느끼는 거지만 bof문제가 참 많다..

 

이것도 64비트 bof인 것 같다.

 

우선 아무런 보호기법이 걸려있지 않은 것을 확인했다.

 

IDA로 열어보았다.

 

 

처음에 버퍼의 주소를 주고 gets로 입력을 받는다.

 

함수 목록을 확인해보니 shell을 실행시키는 함수도 없고, 그냥 쉘코드를 넣으면 될 것 같다.

 

그런데 입력을 받는 버퍼의 크기가 굉장히 크다. 6d30h = 27952

여기에 쉘코드를 넣고 ret에 버퍼의 주소를 주는 것도 좋을 것 같다. -> 버퍼의 주소를 주는 이유같다.

 

우선 버퍼의 주소를 출력해주면 그 값을 받아와서 저장하고, 이 값으로 돌아오면 되겠지??

그리고 버퍼의 크기가 크니까 어디든 넣어놓으면 될 것 같다.

요렇게 버퍼의 주소를 가져올 수 있었고 

 

총 버퍼크기 = 27960

쉘코드 = 31

 

그래서 대충 "\x90"을 27900개를 넣고,

쉘코드(31)을 넣고, 뒤에 부족한 공간을 "\x90"로 29바이트를 넣고, 이후에 저장해놓았던 버퍼 주소를 ret에 넣어주면 쉘코드가 실행되겠지??

 

전체 익스 코드는 다음과 같이 짜 보았다.

 

 

플래그

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

HackCTF 0x7번 Offset  (0) 2020.01.24
HackCTF 0x6번 Simple_Overflow_ver_2  (0) 2020.01.24
HackCTF 0x4번 x64 Buffer Overflow  (0) 2020.01.23
HackCTF 0x3번 내 버퍼가 흘러넘친다!!!  (0) 2020.01.23
HackCTF 0x2번 Basic_FSB  (0) 2020.01.23
Comments