[pwnable.xyz] iape
Wargame/pwnable.xyz
Shake off the pwn and let's do some programmingAttachmentThe Bugappend()에 길이 검사가 존재하지 않아 stack buffer overflow가 발생한다.Exploitmain()의 return address를 win()의 주소로 덮어쓰면 플래그를 획득할 수 있다.Generate random valuessetup()에서 time(0) (현재 시각)을 random seed로 설정한다. 이 값은 재현할 수 있기 때문에, append()에서 랜덤으로 주는 길이들을 미리 계산해놓을 수 있다.Leak PIEappend()에서 read()로 rbp-0x20부터 입력을 받는데, rbp-0x18에 read_int32+64의 주소가 저장되어 있다. read_int32..