This is a detailed Binary exploitation roadmap starting from the very first vulnerability to the latest , each one with its mitigation
Before that, I would liek to leave some notes here for pwners who are willing to create their own pwn challenges:
- Disable ASLR temporary
echo 0 | sudo tee /proc/sys/kernel/randomize_va_space
- Enable ASLR:
echo 2 | sudo tee /proc/sys/kernel/randomize_va_space
- Disable Canary:
gcc vuln.c -o vuln_disable_canary -fno-stack-protector
- Disable DEP:
gcc vuln.c -o vuln_disable_dep -z execstack
- Disable PIE:
gcc vuln.c -o vuln_disable_pie -no-pie
- Disable all of protection mechanisms listed above (warning: for local testing only):
gcc vuln.c -o vuln_disable_all -fno-stack-protector -z execstack -no-pie