Wargame/Pwnable.kr 썸네일형 리스트형 uaf switch 문의 1번 분기에 bp를 걸고 살펴보면 give_shell (0x401570, 0x401550)이 RAX에, 그리고 힙에 올라와있다. 1.use 를 했을 때 0x614c38에는 'Jack' 0x614c88 에는 'Jill' , 0x614c50에는 give_shell(0x401570), 0x614ca0에는 give_shell(0x401550)이 들어간다. 이는 free를 해도 값이 남아있고, 같은 바이트(여기선 4바이트)를 다시 read할 때 똑같은 위치를 덮어쓴다. 이후 rax(현재 give_shell 0x401570)에 add 0x8 을 하는데, 0x401570 + 0x8 해서 0x401578 은 introduce() 함수다. 결과적으로 switch 구문에서 1을 선택하면 처음 rax(gi.. 더보기 바이너리 다운로드 scp -P 2222 [id]@pwnable.kr:[바이너리절대경로] [다운경로] 더보기 input Stage 1 #include #include #include #include #include int main() { char* argv[101] = {[0 ... 99] = "A"}; argv['A'] = "\x00"; argv['B'] = "\x20\x0a\x0d"; argv['C'] = "31337"; execve("/home/input/input", argv, NULL); return 0; } 더보기 이전 1 다음