level 7
2020. 9. 5. 13:19
이번에는 argv[0]이 77글자가 되어야한다네요.
'/'를 여러번 써주면 될 것 같습니다.
argv[1]을 이용해 풀어보도록 하죠.
RET 까지의 거리는 48이네요.
argv[0]로 총 77글자가 들어갑니다.
하지만 지금 사진은 "./orge"까지만 들어간 것으로, 71글자가 더 들어가야합니다.
즉, 0xbffffc28 + 0x47을 해야한다는 것이죠.
0xbffffc6f이 나옵니다.
payload를 작성해보겠습니다.
`"." + "/"*72 + "orge"`, `"\x90"*19 + "~~"(ShellCode) + "\x6f\xfc\xff\xbf"
오류가 나서 core dump를 해보았습니다.
0xbffffb9c의 주소로 다시 해보겠습니다.
성공!