[pwnable.xyz] message
Wargame/pwnable.xyz
Leave a message for the admin.AttachmentBugStack BOF in main()Message를 입력받을 때 stack buffer overflow가 발생한다.OOB read in get_choice()idx가 table의 범위 내에 있는지 확인하지 않아서 OOB read가 가능하다.get_choice()의 return value를 출력해 주기 때문에, 스택에서 char의 크기만큼의 범위에 있는 1바이트 값을 leak할 수 있다.ExploitationOOB read를 이용하여 canary와 PIE base를 leak한 후, stack BOF를 이용하여 main()의 return address를 win()의 주소로 덮으면 플래그를 획득할 수 있다.ex.py