[pwnable.xyz] Free Spirit
Wargame/pwnable.xyz
Free is misbehaving.AttachmentBugStack address leakArbitrary address writemalloc으로 할당받은 메모리에서 0x10바이트를 읽어와서 rsp+8에 있는 v8에 넣는데, 할당받은 메모리의 주소가 rsp+0x10에 있기 때문에 이 주소를 임의의 주소로 덮어쓸 수 있다.이후에 그 주소에 임의의 0x20바이트 값을 쓸 수 있다.Exploitmain()의 return address를 win()의 주소로 덮어쓰면 플래그를 획득할 수 있다.return 전에 free()에서 터지지 않도록 free()에 들어가는 주소에 fake chunk 구조를 만들어 주어야 한다.from pwn import *r = remote("svc.pwnable.xyz", 30005)s..