목록2021/07/11 (1)
Sechack

트릭모르면 못푸는 문제이다. 나도 문제풀당시에는 트릭을 몰랐어서 너무 오래걸렸었다. 굉장히 심플한 프로그램이다. 하지만 scanf의 서식지정자로 %zu를 줬을때 scanf내부 로직을 모르면 못푸는 문제이다. 일단 libc leak은 대충 1000000정도로 크기 엄청 크게주면 mmap system call로 따로 공간을 할당해서 사용하고 이 영역은 libc와 offset이 일정하다는 특징을 이용해서 libc leak을 할 수가 있다. 그리고 oob가 발생해서 임의의 주소를 한번 덮을 수 있다. libc주소를 얻었으므로 덮을 수 있는곳은 많다. 일단 먼저 나는 문제에서 ld파일도 주길래 rtld overwrite를 시도했다. 하지만 exit가 아니라 _exit함수여서 결국에는 불가능했다. 남은건 vtabl..
CTF
2021. 7. 11. 20:21