suckless2 writeup
·
writeup in kr
바로 실행 일단 뭐하는 프로그램인지 확인하기 위해 help를 쳐봅시다. 콘솔형 메모장인가 봅니다. 취약점을 찾아내기 위해 탐색을 해봅시다. gdb로 디버깅을 하면서 동작과정을 살펴보겠습니다. 'hello'가 저장된 0x00007ffff7700030부터 256byte만큼 값들을 보면 이렇게 돼있습니다. 각 주소마다 16이 더해진 다음 주소를 값에 기본적으로 담고 있다는 걸 확인할 수 있습니다. 그렇다면 기본적으로 담고 있는 저 포인터 값을 변조한다면 다음 new를 통한 노트 저장을 할 때 변조된 포인터에 값이 담아지게 될 것 같다는 생각이 들었습니다. 첫 노트에서 'A(dummy)' 16바이트와 아스키 16진수 값이 70인 'p'를 입력해서('AAAAAAAAAAAAAAAAp') 0x7ffff7700040의..