CTF 공부/LOB

[LOB]bugbear

JJWANIC 2020. 1. 29. 19:20

딱 봐도 어려워보이네요...

argv[1]의 44번째부터 4바이트가 execve의 주소랑 같아야합니다.

execve(exit()) 후 execve의 ret에 system을 넣고 인자로 /bin/sh을 넣어서 풀어야합니다. (write up 봣습니다 ㅎㅎ.. 어렵네요)

필요한 것들은

- execve 주소
- exit 주소
- system 주소
- /bin/sh 주소
- NULL 주소

이 값들을 구해보면

이렇게 주어지네요!

- execve 주소 : 0x489d0a40
- exit 주소 : 0x400391e0
- system 주소 : 0x40058ae0
- /bin/sh 주소 : 0x400fbff9
- NULL 주소 : 0xbffffffc

이걸 이용해서 paylod를 작성하면

./giant + dummy[44] + &execve + execve ret -> &sytem + &/bin/sh + NULL