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