힌트를보면 프로그램이 정상적으로 흘러간다면
hello there 을 출력하게 됩니다.
main함수를보면 정수형으로 crap을 선언하고
포인터 call 과 char형 buf가 20바이트 선언되었습니다.
gdb로 프로그램을 보면 풀어오던 문제랑 별다를게없습니다.
call에 printit 주소인 0x8048500가 저장이 됩니다.
공격코드는 nop * 40 + shell주소를 넣어주면 됩니다.
공격하기 전에 shell의 주소를 알아야합니다.
objdump를 통해 알아낼수있지만 gdb로 shell의 주소를 얻었습니다.
필요한게 모두 수집되었으니 공격했더니
level17의 쉘을 얻었습니다.
'Wargame - 고등학교 시절 가독성 주의 부탁드립니다.) > PWNABLE' 카테고리의 다른 글
ftz level17 (0) | 2017.04.15 |
---|---|
[pwnable.kr]bof (0) | 2017.04.14 |
ftz level15 (0) | 2017.04.14 |
ftz level14 (0) | 2017.04.14 |
ftz level13 (0) | 2017.04.13 |