[pwnable.xyz] badayum
Wargame/pwnable.xyz
Let's count words.AttachmentAnalysisgenerate_me()는 strings에 저장된 10개의 문자열들 중 하나를 골라서 이어붙이는 과정을 20번 반복하여 me 문자열을 생성한다. strings에서 가장 짧은 문자열은 3바이트이고 가장 긴 문자열은 8바이트이기 때문에, me는 이론상 최소 60바이트에서 최대 160바이트까지 될 수 있다. me가 너무 길어지면 you에 입력을 받을 때 stack buffer overflow가 발생할 수 있다.ExploitationLeak canaryyou는 rsp+0x10부터 입력을 받기 때문에, me_len이 0x68 이상이면 canary의 null byte까지 채워서 canary를 leak할 수 있다.Leak PIEme_len이 0x77 이..