Binary Exploitation


CIS 5510

Hackers are the modern-day sorcerers of the digital realm. While you possess hacking skills, there's always room for growth.

Have you delved into the deepest secrets, the esoteric knowledge passed down through generations?

Do you possess the ability to fully manipulate advanced software with state-of-the-art security measures?

Keep advancing into the realm of cybersecurity, utilizing this training ground to enrich your understanding of the mystical knowledge that fuels your digital wizardry.


Lectures and Reading

Before you begin this project, please read "Smashing the Stack for Fun and Profit".


Challenges

Overflow a buffer on the stack to set the right conditions to obtain the flag!

Overflow a buffer on the stack to set trickier conditions to obtain the flag!

Overflow a buffer and smash the stack to obtain the flag! you from doing so!

Overflow a buffer and smash the stack to obtain the flag, but this time bypass a check designed to prevent you from doing so!

Overflow a buffer and smash the stack to obtain the flag, but this time bypass another check designed to prevent you from doing so!

Overflow a buffer and smash the stack to obtain the flag, but this time bypass another check designed to prevent you from doing so!

Overflow a buffer and smash the stack to obtain the flag, but this time in a position independent (PIE) binary!

Overflow a buffer and smash the stack to obtain the flag, but this time in a position independent (PIE) binary with an additional check on your input.

Overflow a buffer and smash the stack to obtain the flag, but this time in a PIE binary with a stack canary. Be warned, this requires careful and clever payload construction!

Overflow a buffer and leak the flag. Be warned, this requires careful and clever payload construction!

Overflow a buffer and leak the flag. Be warned, this requires careful and clever payload construction!

Defeat a stack canary in a PIE binary by utilizing a bug left in the binary.

Leak data left behind unintentionally by utilizing clever payload construction.

Leak data left behind unintentionally to defeat a stack canary in a PIE binary.

Defeat a stack canary in a PIE binary by utilizing a network-style fork server in the target binary.

Write a full exploit involving shellcode and a method of tricking the challenge into executing it.

Write a full exploit involving injecting shellcode and a method of tricking the challenge into executing it. Note, ASLR is disabled!

Write a full exploit involving injecting shellcode and a method of tricking the challenge into executing it by utilizing clever payload construction.

Write a full exploit involving injecting shellcode, reverse engineering, and a method of tricking the challenge into executing your payload.

Write a full exploit involving injecting shellcode, reverse engineering, seccomp, and a method of tricking the challenge into executing your payload.

Write a full exploit involving injecting shellcode, reverse engineering, seccomp, and a method of tricking the challenge into executing your payload.

Analyze the binary, identify the vulnerability, and exploit it to get the flag.

Analyze the binary, identify the vulnerability, and exploit it to get the flag.

Analyze the binary, identify the vulnerability, and exploit it to get the flag.

Analyze the binary, identify the vulnerability, and exploit it to get the flag.

Analyze the binary, identify the vulnerability, and exploit it to get the flag.

Analyze the binary, identify the vulnerability, and exploit it to get the flag.

Use ROP to trigger a two-stage win function!

Use ROP to trigger a multi-stage win function!

Utilize a libc leak to ROP with libc!

ROP with libc, no free leak this time!

In this level, a single gadget is all you need to exploit the vulnerability. Get ready to think outside the box! :)