This pwn is a classic heap pwn. In its Edit()
function exits a heap overflow of arbitrarily write.
1 | __int64 __fastcall Edit(__int64 List) |
Because the List(contains each block’s status, size and content’s pointer) is at random address, we cannot overflow and overwrite the List. So what I chose to do is to overflow the chunk to leak the libc information and perform fastbin attack.
1 | def pwn(): |