ELF32 ROP


x86 Exploitation.

You have hopefully already ROPed on ELF64 binaries (https://pwn.college/program-security/return-oriented-programming/), but can you ROP on ELF32? This module serves as an introduction to the exploitation of 32 bit ELF binaries.



Challenges

Overflow a 32-bit binary and redirect execution into the win function.

Connect with SSH

Link your SSH key, then connect with: ssh [email protected]

Overflow a 32-bit binary and redirect execution into the win function with the correct arguments. Remember, arguments are typically passed differently on x86...

Connect with SSH

Link your SSH key, then connect with: ssh [email protected]

Overflow a 32-bit binary and redirect execution into system. Setuid has already been called for you!

Connect with SSH

Link your SSH key, then connect with: ssh [email protected]

Overflow a 32-bit binary and redirect execution into 2 win functions.

This can technically be cheesed because the flag is constant across runs, but doing that won't teach you anything! Calling consecutive functions during a single execution is crucial for the upcoming challenges.

Connect with SSH

Link your SSH key, then connect with: ssh [email protected]

Overflow a 32-bit binary and redirect execution into 2 win functions with the correct arguments. Remember, arguments have to be manually cleaned up on x86!

This can technically be cheesed because the flag is constant across runs, but doing that won't teach you anything! Calling consecutive functions during a single execution is crucial for the upcoming challenges.

Connect with SSH

Link your SSH key, then connect with: ssh [email protected]

Overflow a 32-bit binary to call setuid and system to obtain a shell.

Connect with SSH

Link your SSH key, then connect with: ssh [email protected]

Overflow a 32-bit binary to call setuid and system to obtain a shell. Use the PLT to bypass ASLR.

Connect with SSH

Link your SSH key, then connect with: ssh [email protected]

Overflow a 32-bit PIE binary to call setuid and system to obtain a shell. A PIE leak is provided, but no libc leak is given.

Hint: A saved register value on the stack is corrupted when a buffer overflow takes place. This value must be restored correctly when calling the PLT when PIE is enabled. Research System V i386 ABI standard conventions.

Connect with SSH

Link your SSH key, then connect with: ssh [email protected]

30-Day Scoreboard:

This scoreboard reflects solves for challenges in this module after the module launched in this dojo.

Rank Hacker Badges Score