gdb로 보면 ebp-56 주소부터 입력값을 넣는데 call() 부분에 들어가는 주소는 ebp-40부터다.
RTL 해보려고 하면 fgets 가 48byte까지 밖에 입력을 안하므로 4byte(/bin/sh_addr)가 짤린다.
그래서 그냥 쉘코드 넣고 call 주소 조작하려고 해보면 aslr 걸려있어서 안된다.
이거 그냥 풀 수 있는 방법이 환경변수 빼면 없는거 같은데 로컬에서밖에 풀 수 없는 환경변수 풀이는 개인적으로 싫어해서 그냥 넘어간다.
'Pwnable > ▷ Study' 카테고리의 다른 글
ftz level19 (0) | 2018.02.18 |
---|---|
ftz level18 (0) | 2018.02.17 |
ftz level16 (0) | 2018.02.17 |
ftz level15 (0) | 2018.02.17 |
ftz level14 (0) | 2018.02.17 |