Skeleton
-
LEVEL 10 skeleton write-upSystem hacking training/Hackerschool LOB 2018. 4. 11. 16:58
vampire -> skeleton [문제] 조건들이 많다. 하나씩 살펴보면 이러하다. 먼저 인자는 두개 이상 줘야하고 egghunter에 의해서 eggshell을 사용하여 익스플로잇할 수 없다.그리고 ret 주소의 마지막 바이트에는 \xbf가 들어가 있어야한다. 이 말은 즉 스택에 쉘코드가 있어야한다는 것으로 생각이 된다.그리고 argv[1] (첫 번째 인자)의 길이가 48이상이면 안된다.마지막으로 buffer와 argv[N]의 모든 값들을 0으로 초기화하며 종료한다. 그리하여 이전까지 넣어줬던 공간 argv, 환경변수, buffer가 모두 0이된다. [삽질 - 풀이와 무관함] 그리하여 살질을 하였는데.. 생각해낸 방법이 argc를 integer overflow하여 int의 범위를 넘어서 음수 혹은 0..