전에 풀어야지 올려놓고 글도 써놓고 까먹고 있다가 이제와서 푼다.
문제보면 message 부분에서 bof를 준다.
막 A넣어보면, fmt.padString부분에서 에러가 난다. ida로 까서 스택보면 stdin부분이 덮히는 걸 볼 수 있다.
이부분을 맞춰주면 되는데, printf가 2번 호출됨으로, 2개 맞춰주면 된다.
그 후에는 걍 c바이너리 rop하듯 rop 해주면 되는데, 왜인지 모르겠지만 syscall이후에 체이닝이 정상적으로 안됐다.
그래서 read => execve는 포기하고, mov [rdi], rax를 이용해서 /bin/sh를 쓰고, 쉘을 땄다.
'Pwnable' 카테고리의 다른 글
ISITDTU CTF 2018 - dead_note_lv2 (0) | 2018.08.01 |
---|---|
Asis 2015 - math_sequence (0) | 2018.07.30 |
strncmp (0) | 2018.04.14 |
61byte reverse shellcode (0) | 2018.04.11 |
[Sunshine CTF 2018] Hexalicious (0) | 2018.04.08 |