Dreamhack LEVEL 1 basic_exploitation_001
basic_exploitation_001 문제 정보
- 문제 정보를 보면, 보호 기법이 없다는 것을 알 수 있다.
basic_exploitation_001.c
- basic_exploitation_001.c를 보면, buf의 크기가 0x80이고 입력의 크기를 제한하지 않는 gets함수로 입력을 받음으로써 BOF가 발생할 수 있고, 이를 이용해서 read_flag로 "cat /flag"를 실행킬 수 있다.
gdb로 basic_exploitation_001 뜯어보기
- gdb로 basic_exploitation_001을 확인해보니, push ebp로 sfp의 크기가 0x4인 것을 확인할 수 있다.
gdb로 read_flag 주소 알아내기
- exploit을 작성하기 위해 gdb로 "print read_flag"를 실행해 read_flag의 주소를 알아내었다.
basic_exploitation_001의 exploit.py
- 지금까지의 내용들을 바탕으로 pwntools로 exploit을 작성하였다.
FLAG는 저 멀리 날아갔어요 ㅠㅜ