Software Security

Table of Contents

Heap overflows

Stack-based buffer overflow relatively easy to exploit, because return address. Integer overflow can bypass length checks. Heap buffer overflows and format strings can provide arbitrary write.

Use-after-free and type confusion allow corrupting specific data.

Buffer overflows:

Off-by-one:

Pointer storage:

Buffer overread:

Data/BSS overflows

Heap overflows:

exploiting arbitrary write: