A Dangerous Language Feature
How a clever use of C lambdas can force the stack to be executable, and why that’s a security risk.
How a clever use of C lambdas can force the stack to be executable, and why that’s a security risk.
This demonstration shows another fun exploitation of a programmer error: a format string vulnerability lets you read and write memory that you aren’t supposed to be able to access. See also: Buffer Overflow Format String Vulnerability Download: formatstring.c Compilation gcc -o formatstring formatstring.c # You may also need to disable ASLR system-wide echo 0 | sudo tee /proc/sys/kernel/randomize_va_space Source Code /* * Format String Vulnerability Demonstration * * Copyright (c) 2025 Martin Domig <martin@domig....
How a seemingly innocent debug function can leak memory, crash programs, or enable arbitrary code execution.
This is a simplified demonstration program showing how a basic buffer overflow can hijack control flow. It’s deliberately simplified to illustrate the concept without modern protections. See also: See also: Buffer Overflow Format String Vulnerability Download: bufferoverflow.c Compilation # Disable stack protection for demonstration gcc -fno-stack-protector -o bufferoverflow bufferoverflow.c # You may also need to disable ASLR system-wide echo 0 | sudo tee /proc/sys/kernel/randomize_va_space Source Code /* * Buffer Overflow Vulnerability demonstration * * Copyright (c) 2025 Martin Domig <martin@domig....
Learning about buffer overflows, why they persist, and what they reveal about software security.