-
FTZ - level17 풀이 / 환경변수 등록을 이용한 BOFCTF/Pwn 2019. 8. 13. 20:47
힌트를 보면 call 함수를 불러오는 자리에 쉘코드를 입력한 주소를 적어두면 될 것이다.
gdb를 통해서 열어보자
attackme를 tmp로 우선 복사해서 bof를 gdb로 열어보자
가장먼저 메인을 확인해보면
buf는 ebp-56에 저장이 되고 있었다.
마지막 call에서 eax를 부르는 곳이 printit함수로 보이며 ebp-16이란 것을 알수가 있었다.
우리는 40만큼 더미값을 넣어주고 그 다음 4byte에 쉘코드 주소를 넣어주면 되는 것이다.
gdb를 나와서 환경변수를 이용하도록 하자.
길다..
쉘코드 내용은 당연히 system("/bin/sh");
이다.
env.c를 만들고 컴파일해서 실행함으로써 내가 등록한 환경변수의 주소값을 알아오자.
이제 이걸통해서 실행할때 이 주소를 넣어주면 끝
이 다음은 상상에 맡김
'CTF > Pwn' 카테고리의 다른 글
[Hack CTF - Pwnable] Basic_BOF #2 Write Up (0) 2019.08.16 해커스쿨 FTZ - Clear 후기 (0) 2019.08.14 FTZ - level8 / 파일 용량을 이용한 find 검색 활용 (0) 2019.08.12