Heap overflow
How it works ?
char *a = malloc(0x20); // Return a pointer, here 0x4052a0
char *b = malloc(0x20); // Return a pointer, here 0x4052d0
strcpy(b, "SuperSecretValue");
strcpy(a, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); // Write 32 A address | values
------------+-------------------------------------------------
| +----------------- chunk 1 ------------------+
0x405290: | | 0x0000000000000000 0x0000000000000021 | <-- chunk 1 Metadata
0x4052a0: | | 0x4141414141414141 0x4141414141414141 | <-- chunk 1 Data
0x4052b0: | | 0x4141414141414141 0x4141414141414141 | <-- chunk 1 Data
| +----------------- chunk 2 ------------------+
0x4052c0: | | 0x0000000000000000 0x0000000000000021 | <-- chunk 2 Metadata
0x4052d0: | | 0x5375706572536563 0x72657456616c7565 | <-- chunk 2 Data
0x4052e0: | | 0x0000000000000000 0x0000000000000000 | <-- chunk 2 Data
0x4052f0: | +--------------------------------------------+
... | ...Resources
Last updated